【发布时间】:2015-05-03 11:53:11
【问题描述】:
我正在使用 Matlab 进行一些形状检测编码。我只是想看懂代码段
[H,theta,rho] = hough(BW)
我了解x,y 坐标到theta,rho 坐标系的转换。我无法理解的是hough(BW) 函数的输出格式。简单的问题是[H,theta,rho]here 是什么。最好能通过一个例子对Hough Transformation Matrix (H)有一个清晰的认识。
【问题讨论】:
我正在使用 Matlab 进行一些形状检测编码。我只是想看懂代码段
[H,theta,rho] = hough(BW)
我了解x,y 坐标到theta,rho 坐标系的转换。我无法理解的是hough(BW) 函数的输出格式。简单的问题是[H,theta,rho]here 是什么。最好能通过一个例子对Hough Transformation Matrix (H)有一个清晰的认识。
【问题讨论】:
如果您不熟悉 Matlab-isms 以及 Hough 变换的工作原理,输出会有点混乱。
H 是 Hough 变换的累积结果表,维度为 rho-theta。因此,对于阈值图像中的每个像素,您计算 rho(距离)和 theta(角度)并将相应的单元格增加 1。
返回的 rho 和 theta 矩阵本质上是 H 矩阵的行和列标题。
看看我的Naive Hough implementation for Matlab可能对你有帮助
【讨论】:
请仔细阅读hough函数的文档。
这里有一个清晰的解释什么是H、theta和rho:
该函数返回
H,即霍夫变换矩阵。theta(以度为单位)和rho是rho和theta值的数组,hough 在这些值上生成霍夫变换矩阵。
【讨论】: