Преобразование Хафа
[ вычисляет Стандартное преобразование Хафа (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)