OPENCV PYTHON ПРЕОБРАЗОВАНИЕ ХАФА

OpenCV - это библиотека компьютерного зрения с открытым исходным кодом, которая предназначена для обработки изображений. Она может быть использована для обработки видео, изображений, выполнения функций компьютерного зрения, распознавания образов и т.д. В этом тексте мы рассмотрим преобразование Хафа, один из алгоритмов компьютерного зрения для обнаружения линий на изображении с помощью Python и OpenCV.

Преобразование Хафа - это метод поиска линий на изображении, созданный Полом Хафом в 1962 году. Он работает на основе того, что линия на изображении можно представить в виде точки в пространстве параметров, называемом пространством Хафа. Алгоритм Хафа работает путем преобразования каждой точки изображения в значении параметров пространства Хафа. Если в пространстве Хафа достаточно точек имеют общее значение параметров, это означает, что на изображении есть прямая линия, которая соответствует этому значению параметров.

Для преобразования Хафа в OpenCV существует встроенная функция – HoughLines(). Ниже приведен пример кода, который демонстрирует, как использовать преобразование Хафа для обнаружения линий на изображении в OpenCV:

import cv2import numpy as npimg = cv2.imread('image.jpg')gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)edges = cv2.Canny(gray,50,150,apertureSize = 3)lines = cv2.HoughLines(edges,1,np.pi/180,200)for line in lines: rho,theta = line[0] a = np.cos(theta) b = np.sin(theta) x0 = a*rho y0 = b*rho x1 = int(x0 + 1000*(-b)) y1 = int(y0 + 1000*(a)) x2 = int(x0 - 1000*(-b)) y2 = int(y0 - 1000*(a)) cv2.line(img,(x1,y1),(x2,y2),(0,0,255),2)cv2.imwrite('houghlines5.jpg',img)

В данном примере мы используем функцию cv2.imread() для загрузки изображения 'image.jpg'. Затем мы преобразуем изображение в оттенки серого с помощью функции cv2.cvtColor(). Следующим шагом является поиск границ на изображении с помощью функции cv2.Canny().

Затем мы используем функцию cv2.HoughLines() для обнаружения прямых линий на изображении. Первый параметр функции - edges - это изображение, на котором мы ищем линии. Второй параметр - 1 - это расстояние в пикселях между точками в пространстве Хафа. Третий параметр np.pi/180 - это угловое разрешение в радианах. Четвертый параметр - 200 - это пороговое значение, которое определяет, сколько точек должны соответствовать прямой линии для ее обнаружения.

Затем мы проходим через каждую обнаруженную линию и используем формулы, чтобы определить координаты точек начала и конца линии. Наконец, мы используем функцию cv2.line() для рисования линии на изображении.

Лабораторная работа \

Лекция 9 Канни, Хаф, Харрис,SIFT

Каскад Хаара Преобразования Хафа Сравнение моментов контуров

Урок #1 Python / Распознавание лиц OpenCV

Лабораторная работа \

[Python] Введение в OpenCV - Работа с камерой

BalanceBall - Arduino/C++/OpenCV/PID controller

Отслеживание ПРЯМЫХ линий Метод ХАФА Processing OPENCV lineDetection веб камера web camera

Python OpenCV Circle Detection With HoughCircles

Урок #3 Python / Распознавание контуров OpenCV

BLGPG-E8D7E6278B86-24-09-19-19

Новые материалы: