使用 Matlab 进行霍夫变换
Hough Transform with Matlab
我正在使用 Matlab 进行一些形状检测编码。我只想看懂代码段
[H,theta,rho] = hough(BW)
我了解 x,y
坐标到 theta,rho
坐标系的转换。我无法理解的是 hough(BW)
函数的输出格式。问题只是这里的 [H,theta,rho]
是什么。我最好能通过示例清楚地了解 Hough Transformation Matrix (H)
。
请仔细阅读hough
函数的文档。
这里有一个明确的解释什么是H
、theta
和rho
:
The function returns H
, the Hough transform matrix.
theta
(in degrees) and rho
are the arrays of rho
and theta
values over which hough generates the Hough transform matrix.
H、theta 和 rho
如果您不熟悉 Matlab-isms 以及 Hough 变换的工作原理,输出会有点混乱。
H是一个table维数为rho-theta的霍夫变换累加结果。因此,对于阈值图像中的每个像素,您计算 rho(距离)和 thetas(角度)并将相应的单元格增加 1。
返回的rho和theta矩阵本质上是H矩阵的行和列headers。
一个朴素的 Hough 实现
可能会对你有帮助
我正在使用 Matlab 进行一些形状检测编码。我只想看懂代码段
[H,theta,rho] = hough(BW)
我了解 x,y
坐标到 theta,rho
坐标系的转换。我无法理解的是 hough(BW)
函数的输出格式。问题只是这里的 [H,theta,rho]
是什么。我最好能通过示例清楚地了解 Hough Transformation Matrix (H)
。
请仔细阅读hough
函数的文档。
这里有一个明确的解释什么是H
、theta
和rho
:
The function returns
H
, the Hough transform matrix.
theta
(in degrees) andrho
are the arrays ofrho
andtheta
values over which hough generates the Hough transform matrix.
H、theta 和 rho
如果您不熟悉 Matlab-isms 以及 Hough 变换的工作原理,输出会有点混乱。
H是一个table维数为rho-theta的霍夫变换累加结果。因此,对于阈值图像中的每个像素,您计算 rho(距离)和 thetas(角度)并将相应的单元格增加 1。
返回的rho和theta矩阵本质上是H矩阵的行和列headers。