Как я могу найти правильный minAreaRect? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь найти minAreaRect и угол поворота под прямым углом. OpenCV находит неправильный угол и ширину, высоту.

Входное изображение

Original Image

Я пытался изменить findContours, но это не работает.

import numpy as np
import cv2 as cv
import sys
import math

color_yellow = (255, 255, 255)
img = cv.imread("test.png")
hsv = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
contours, hierarchy = cv.findContours(hsv, cv.RETR_EXTERNAL, 
cv.CHAIN_APPROX_SIMPLE)
for cnt in contours:
    rect = cv.minAreaRect(cnt)
    box = cv.boxPoints(rect)
    center, wh, rot = rect
    box = np.int0(box)
    center = np.int0(center)
    rot = np.int0(rot)
    cv.drawContours(img, [box], 0, (255, 0, 0), 2)
    cv.putText(img, "%d" % rot, (center[0] + 150, center[1]), 
    cv.FONT_HERSHEY_SIMPLEX, 1, color_yellow,3)
cv.imshow("myI_mg",img)
cv.waitKey()
cv.destroyAllWindows()

Нужно получить правильный угол поворота и рост, вес!

RESULT MY PROGRAMM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...