Как нарисовать среднюю прямую линию в Opencv и рассчитать в миллиметрах? - PullRequest
0 голосов
/ 27 февраля 2020

Как нарисовать прямую линию в контурных объектах в Opencv python и рассчитать в мм (миллиметрах). Я использую также cv2.line, но это не дает мне точную прямую.

Я просто использую краску для этой зеленой линии

    hsv = cv2.cvtColor(6.jpg, cv2.COLOR_BGR2HSV)
    lower_blue = np.array([5, 25, 25])
    upper_blue = np.array([70, 255, 255])
    thresh = cv2.inRange(hsv, lower_blue, upper_blue)

    imask = thresh > 0
    green = np.zeros_like(frame, np.uint8)
    green[imask] = frame[imask]
    cnts = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    cnts = cnts[0] if len(cnts) == 2 else cnts[1]
    cnts = sorted(cnts, key=cv2.contourArea, reverse=True)

    for c in cnts:
        x, y, w, h = cv2.boundingRect(c)

        # Draw rectangle
        cv2.rectangle(green, (x, y), (x + w, y + h), (36, 255, 12), 2)
        cv2.putText(green, "w={},h={}".format(w, h), (x, y - 10),
                    cv2.FONT_HERSHEY_SIMPLEX, 0.7, (36, 255, 12), 2)

        # Draw contours
        cv2.drawContours(green, [c], -1, (0, 255, 255), 3)
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...