Я работаю над изображениями, чтобы извлечь две кривые и найти точки их пересечения. Изображения сильно различаются по внешнему виду, как вы можете видеть на прикрепленных изображениях.
На данный момент, если выполнить анализ и затем применить фильтр «хитрые края», они выскакивают, но не совсем понятно, как подогнать к ним кривые и найти две точки пересечения (которые у них наверняка будут)
импортировать cv2 импортировать numpy как np img = cv2.imread('image6.jpg') grad_x = cv2.Sobel(img, cv2.CV_64F, 1, 0, 3) grad_y = cv2.Sobel(img, cv2.CV_64F, 0, 1, 3) град = np.sqrt(grad_x**2 + grad_y**2) grad_norm = (grad * 255 / grad.max()).astype(np.uint8) grad_norm = cv2.blur(grad_norm,(3,3)) cv2.imshow('Размытие', grad_norm) cv2.waitKey(0) # Обнаружение Канни Края края = cv2.Canny(image=grad_norm, порог1=100, порог2=200) # Обнаружение края Канни # Отображение изображения обнаружения Canny Edge cv2.imshow('Canny Edge Detection', ребра) cv2.waitKey(0)


Красные точки, показанные выше, — это те точки, к которым я стремлюсь.
Больше примеров изображений



Есть предложения?
Спасибо и всех с Новым годом
Мобильная версия