Обнаружение водяного знака с использованием opencv
1 ответ
На основе кода, который вы уже написали, вам нужно инвертировать результат и применить findContours()
.
inv_img = cv2.bitwise_not(dilation)
contours, hierarchy = cv2.findContours(gray_in, cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
rect = cv2.minAreaRect(cnt)
box = cv2.cv.BoxPoints(rect) # cv2.boxPoints(rect) for OpenCV 3.x
box = np.int0(box)
cv2.drawContours(im,[box],0,(0,0,255),2)
Вам нужно посмотреть, какая коробка лучше и какой контур лучше всего подходит. Этот ответ был бы полезен:Python OpenCV Box2D