不包括霍夫变换工件在45和-45度

8视图(30天)
我下面的步骤 这个例子 找到线在我的映像,其中包含大量的近水平线条。霍夫变换识别几行正确,但也有其他不正确的线在45和-45度,做一个“X”在我的广场形象。我认为这是一个数学工件(见刘塞缪尔的回答 在这里 ),我想将其排除在外”。下面的工作,但有更好的方法吗?或者如果你理解这个工件,您能解释一下吗?
angleList = 90:89;%的所有许可的角度(包括注意90不能)
angleList (45 angleList = = | angleList = = -45) = [];%删除有问题的-45年,45度角
[H T R] =踝关节(BW,“θ”,angleList);
1评论
约旦肯尼迪
约旦肯尼迪 2020年10月22日
在我的数据集,我拥有真正的45度artificats虚假放大的45度角artificat。所以我不想完全删除45。我仍然需要保持真正的信号。和迈克尔Knetzger解释的错误我决定使用 一维中值滤波 在H霍夫变换的输出。这是分开的信号处理工具箱。这对我来说似乎工作得很好。
tempangle = medfilt1 (H 10“截断”);

登录置评。

接受的答案

迈克尔Knetzger
迈克尔Knetzger 2019年12月5日
亲爱的KAE,
因为我也45度的问题工件和你的想法帮我我会给你一个解释我看到那些工件。
你文档中的例子后,所以一度是图像边缘检测。虽然行易磁化方向,像素是离散的。所以的每一步你的线从horrizontal(或垂直)方向,以形成一个工件倾斜线是你的45度。
所以你发现是这样的:
hough4matlab.png
所以你的情况,就足够了,如果你坚持全角范围,你需要改变你的边缘检测。
1评论
KAE
KAE 2019年12月9日
很不错的侦探工作,谢谢。这一定是屡见不鲜的线检测光栅图像。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!