Как измерить ширину и угол двух пересекающихся веревок с помощью OpenCV? [закрыто]Python

Программы на Python
Anonymous
Как измерить ширину и угол двух пересекающихся веревок с помощью OpenCV? [закрыто]

Сообщение Anonymous »

Первое изображение ниже — оригинальное изображение, на котором изображена сеть. Веревки в сети бывают двух видов: толстые и тонкие. С помощью OpenCV необходимо различать, какие веревки являются толстыми, а какие тонкими, и соответственно измерять их углы.
Изображение

Код: Выделить всё

import cv2
import numpy as np

def measure_rope_width(image):

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow('Grayscale Image', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
cv2.imshow('Binary Image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()

contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

widths = []
for contour in contours:
rect = cv2.minAreaRect(contour)
width = max(rect[1])
widths.append(width)
threshold = 10

thick_ropes = [width for width in widths if width > threshold]
thin_ropes = [width for width in widths if width 

Подробнее здесь: [url]https://stackoverflow.com/questions/78784792/how-to-measure-the-width-and-angle-of-two-intersecting-ropes-using-opencv[/url]

Вернуться в «Python»