У меня есть это двоичное изображение (numpy массив), которое представляет собой аппроксимацию прямоугольника:
Я пытаюсь извлечь реальная форма прямоугольника, но не могу найти способ. Ожидаемый результат:
Я использую этот код
contours,_ = cv2.findContours(numpymask.copy(), 1, 1) # not copying here will throw an error
rect = cv2.minAreaRect(contours[0]) # basically you can feed this rect into your classifier
(x,y),(w,h), a = rect # a - angle
box = cv2.boxPoints(rect)
box = np.int0(box) #turn into ints
rect2 = cv2.drawContours(img.copy(),[box],0,(0,0,255),10)
plt.imshow(rect2)
plt.show()
Но результат я получаю это следующее, что мне не то, что мне нужно:
Для этого я использую Python с opencv.