Я работал над примером поиска и рисования контуров в opencv python. Но когда я запускаю код, я вижу только темное окно без контуров. Я не знаю, где я ошибаюсь. Код:DrawContours() не работает opencv python
import numpy as np
import cv2
im = cv2.imread('test.png')
imgray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
img=cv2.drawContours(image,contours,0,(0,255,0),3)
cv2.imshow('draw contours',img)
cv2.waitKey(0)
test.png
просто белый прямоугольник в черном фоне.
Любая помощь будет оценена по достоинству.
Edit: Я использую OpenCV 3.0.0 и Python 2.7
Попробуйте сохранить изображение на этапе 'ret, thresh = cv2.threshold (imgray, 127,255,0)', чтобы увидеть, есть ли какие-либо контуры. Если вы его не видите, то, вероятно, он не найдет. Возможно, вам придется настроить параметр порога, пока не увидите контуры. – Ryan
или проверьте, не опущены ли контуры перед его рисованием. Чтобы нарисовать все контуры, вы также должны зацикливаться на контурах и рисовать их. – Miki
как насчет отправки 'test.png', чтобы мы могли воспроизвести проблему? – galath