【发布时间】:2015-04-24 19:24:30
【问题描述】:
我想在显示的图像中检测边缘(具有亚像素精度):
分辨率约为 600 X 1000。
我看到了 Mark Ransom here 的评论,其中提到了垂直边缘的边缘检测算法。我还没有遇到过。在我的情况下它会有用吗(因为边缘不是严格意义上的直线)?不过,它始终是垂直边缘。我希望它至少精确到 1/100 像素。我也想访问这些亚像素坐标值。
我尝试过 Agustin Trujillo-Pino 的 "Accurate subpixel edge location"。但这并没有给我一个持续的优势。
还有其他可用的算法吗?我将为此使用 MATLAB。
我附上了另一张算法必须处理的类似图像:
我们将不胜感激。
谢谢。
编辑:
我想知道我是否可以这样做: 在 MATLAB 中应用 Canny / Sobel 并获取此图像的边缘(注意它不会是一条连续的线)。然后,以某种方式插入这个 Sobel 边缘并获得子像素中的坐标。有可能吗?
【问题讨论】:
-
使用活动轮廓怎么样? (只是一个随机的想法)
-
嗯,我试过了。首先,这不是轮廓。它不是封闭的,它只是一条线。其次,它非常慢。
-
是的。你可能是对的。
标签: matlab image-processing edge-detection