Я тестирую функцию cv2.threshold() с разными значениями, но получаю каждый раз неожиданные результаты. Таким образом, это означает, просто я не понимаю, эффект parameter:draw контур cv2.threshold() function
- MAXVAL
Может кто-то очистить меня по этому поводу?
Например, я хочу, чтобы нарисовать контуры этой звезды следующие белого цвета:
Вот что я получил:
Из этого кода:
import cv2
im=cv2.imread('image.jpg') # read picture
imgray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) # BGR to grayscale
ret,thresh=cv2.threshold(imgray,200,255,cv2.THRESH_BINARY_INV)
countours,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im,countours,-1,(0,255,0),3)
cv2.imshow("Contour",im)
cv2.waitKey(0)
cv2.destroyAllWindows()
Каждый раз, когда я меняю значение maxval
, я получаю странный результат, который я не могу понять. Как я могу правильно нарисовать контур этой звезды, используя эту функцию?
Заранее спасибо.
спасибо за внимание, но он не отвечает на мой вопрос правильно –
Я обновил свой ответ. Пожалуйста, дайте мне знать, если это поможет. Лучший способ узнать о различных параметрах - взять код, который я дал, и изменить параметры и посмотреть, что произойдет. –
большое спасибо. Я должен прочитать учебник, который вы глубоко мне дали. Спасибо –