Python opencv drawContours ничего не показывает

Я следил за учебником на этой странице, но ничего не происходит, когда выполняется строка cv2.drawContours(im,contours,-1,(0,255,0),3) . Я ожидал увидеть star.jpg с зеленым контуром, как показано в учебнике. Вот мой код:

 import numpy as np import cv2 im = cv2.imread('C:\Temp\ip\star.jpg') print im.shape #check if the image is loaded correctly imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) cv2.drawContours(im,contours,-1,(0,255,0),3) pass 

Сообщения об ошибках отсутствуют. star.jpg является звездой на вышеупомянутой веб-странице. Я использую opencv версии 2.4.8 и Python 2.7.

Может ли drawContours отображать изображение на моем экране? Если да, то что я сделал неправильно? Если нет, как мне показать изображение?

благодаря

Редактировать:

Добавление следующих строк отобразит изображение:

 cv2.imshow("window title", im) cv2.waitKey() 

waitKey () требуется, иначе в окне будет только серый фон. Согласно этому сообщению , это потому, что waitKey () сообщает ему начать обработку события WM_PAINT.

3 Solutions collect form web for “Python opencv drawContours ничего не показывает”

Я была такая же проблема. Я считаю, что проблема заключается в том, что основное изображение является 1-канальным, а не 3-канальным. Поэтому вам необходимо установить цвет так, чтобы он был ненулевым в первом элементе (например, (255,0,0)).

Вы должны что-то сделать:

 cv2.drawContours(im,contours,-1,(255,255,0),3) cv2.imshow("Keypoints", im) cv2.waitKey(0) 

У меня тоже была такая же проблема. Дело в том, что это видно, но слишком темно для наших глаз. Решение: измените цвет с (0,255,0) (по какой-то странной причине, я тоже дал точно такой же цвет!) До (128,255,0) (или какой-то более яркий цвет)

  • Обучение и обнаружение HOG в Python с использованием OpenCV
  • cv2.drawContours не будет рисовать заполненный контур
  • Плохие результаты, когда неискаженные точки используют OpenCV в Python
  • Преобразование изображений в OpenCV
  • Связывание Python с открытым CV на Mac
  • Ошибка OpenCV: функция не реализована
  • VideoCapture не работает в Анаконде
  • Как разобрать HTTP-поток mjpeg с ip-камеры?
  • Python - лучший язык программирования в мире.