Преобразование Хафа
[
вычисляет Стандартное преобразование Хафа (SHT) двухуровневого изображения H
,theta
,rho
]
= hough(BW
)BW
. hough
функция спроектирована, чтобы обнаружить линии. Функция использует параметрическое представление линии: rho = x*cos(theta) + y*sin(theta)
. Функция возвращает rho
, расстояние от источника до линии вдоль векторного перпендикуляра к линии и theta
, угол в градусах между x - ось и этим вектором. Функция также возвращает Стандартное Преобразование Хафа, H
, который является матрицей пространства параметров, строки и столбцы которой соответствуют rho и значениям theta соответственно. Для получения дополнительной информации см. Алгоритмы.
Стандартное преобразование Хафа (SHT) использует параметрическое представление линии:
rho = x*cos(theta) + y*sin(theta)
Переменная ро является расстоянием от источника до линии вдоль векторного перпендикуляра к линии. тета является углом перпендикулярной проекции от источника до линии, измеренной в градусах по часовой стрелке от положительной оси X. Область значений теты . Угол самой линии , также измеренный по часовой стрелке относительно положительной оси X.
SHT является матрицей пространства параметров, строки и столбцы которой соответствуют ро и значениям теты соответственно. Элементы в SHT представляют ячейки аккумулятора. Первоначально, значение в каждой ячейке является нулем. Затем для каждой нефоновой точки в изображении ро вычисляется для каждой теты. ро округляется до самой близкой позволенной строки в SHT. Та ячейка аккумулятора постепенно увеличивается. В конце этой процедуры значение Q в SHT (r, c) означает, что точки Q в xy-плоскости лежат на линии, заданной тетой (c) и ро (r). Пиковые значения в SHT представляют потенциальные линии во входном изображении.
Матрица Преобразования Хафа, H
, nrho-by-ntheta где:
nrho = 2*(ceil(D/RhoResolution)) + 1
, и
D = sqrt((numRowsInBW - 1)^2 + (numColsInBW - 1)^2)
.
rho
значения лежат в диапазоне от -diagonal
к diagonal
, где
diagonal = RhoResolution*ceil(D/RhoResolution)
.
ntheta = length(theta)