我有这样的图像(阈值处理,噪声消除等完成):
我的最终输出应该是没有任何锯齿状边缘的图像,并且小于给定图像。通过这个,我的意思是说,两个图像之间的唯一区别必须是在新图像中,锯齿状边缘必须删除,而不是填充在 >。像这样(最终图像必须是红色边框内的区域,红色边框仅用于说明):
我正在考虑使用Hough变换,或者使用扩张然后使用糜烂的方法,但似乎没有任何工作(可能是我的错,因为我之前没有对它们进行太多细节)。 / p>
请注意,我喜欢的语言是MATLAB。
这有两个主要目标:
问题,以更简洁的形式:
编辑: 还有一些样本图片:
注意:考虑的所有图像将由彼此大约90°的矩形组成,而不是其他图形。因此,例如,对具有弯曲边缘的图像进行平滑处理将超出对该问题的答案的范围(或者甚至,就此而言,梯形,尽管我认为平滑2个直边应该是相同的,不管是否边缘有另一条与之平行的边缘。)
以下是一些图片供参考:
答案 0 :(得分:2)
我不确定我的答案是否符合您的要求。我把它放在这里因为我觉得评论太长了。
或
将最小二乘线拟合到每两个连续红点之间的点(包括)
由于您对侵蚀图像进行了所有这些处理,该图像基本上小于原始图像,因此您应该获得更小的形状