Я следовал руководству на этой странице, но, кажется, ничего не происходит, когда выполняется строка 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.