【发布时间】:2013-09-12 06:25:44
【问题描述】:
在图像中我需要找到“表格” - 简单的矩形。
问题在于边缘识别,因为潜在的照片会很“暗”。
我尝试了边缘 - sobel,canny,log,.... - 识别,然后是霍夫变换和寻线。但这种算法不足以完成这项任务。
有什么可以帮助我的:
- 它是矩形!,仅在透视图中(类似于适合透视矩形的东西?)
- 该对象必须覆盖至少 90% 的照片(我知道我需要查看照片边缘附近)
- 该矩形具有快速相同的颜色(例如木餐桌)
- 我需要找到至少“仅”4 个角..(但是是的,最好找到那张桌子的边缘)
我知道例如 sobel、canny 或 log 算法的工作原理,我也知道 Hough。当然,这些算法在黑暗或非对比度图像上会失败。但是是否还有其他方法,例如基于“拟合”的方法?
图片显示我可以得到的照片(你看它会很暗)和我需要的东西找到:
这真的是“漂亮”的图片(没有噪音)。我在更多噪点图片上对其进行了测试,结果……简直太可怕了……
这张图片的结果与实际算法日志(与另一张看起来相同):
我知道图像和边缘识别不是简单的挑战,但是我可以尝试使用一些新的更好的方法或类似的方法吗?
在这里的一篇文章中,我发现了 LSD 算法。它的描述看起来非常好,而且它似乎也能识别出非常好的直线。您认为将它用于 canny 或 sobel 检测会更好吗?
另一种解决方案是角点检测,在我的示例图像上效果更好,但它识别的点太多并且时间会出现问题..我需要连接所有点并“找到”表格..
另一种解决方案:
我想到了点对点映射。我将有一些“虚拟”表并尝试将上面的表与那个“虚拟”表映射(绘画中的简单二维正方形:])..但我认为点对点映射会给我带来很大的错误,或者它不会工作.
有人对算法使用什么有任何建议吗?
我尝试在 FIJI 中识别边缘,然后将边缘检测到的图像放入 matlab 中,但是它也不好用..:/..
你认为最好用什么?简而言之,我需要找到一些处理非对比度、暗图像的算法。
【问题讨论】:
-
这不是一张“非常漂亮”的照片。如果图片很少(
-
对这个解决方案也感兴趣,canny 等不会很好地工作.. :( 但是你在“可以帮助我的东西:”下有一些好主意......我'我会尽量记住这些想法,因为它们是好的方法:-) 支持它
-
几个月前我和我的大学教授讨论过这个问题(他是图像识别等方面的专家)。他建议我使用graphcut算法。然后我有一些关于医学图像识别的程序,我们正在使用graphcut(有2个版本,我现在不记得了,大约5个月前)但是一个版本的graphcut正在使用像素强度和自己的像素和第二个是处理纹理。我认为 graphcut 是一种相对快速的方法,具有非常好的识别结果。然后他们建议我分水岭方法。它也可以很好。
标签: matlab image-processing image-recognition edge-detection hough-transform