2012-12-29 87 views
1

我有一个白色背景上的图像。是否可以用纯色填充物体,Canny Edge只能检测边界而不检测不必要的线?还是有更容易的算法来检测对象的轮廓?我已经看到了一些用于图像处理的库,例如JavaCV。但我还没有尝试过。你有什么建议吗?提前致谢。在白色背景上的图像的边缘检测

+0

请参阅[Image/Graphic into a Shape](http://stackoverflow.com/questions/7052422/image-graphic-into-a-shape)&[平滑锯齿状路径](http://stackoverflow.com/questions/7218309/smoothing-a-jagged-path)获得一些提示,以获取图像非白色区域的“形状”。其实我怀疑我误解了你的问题。你能链接到一个小例子(以字节为单位)的图像吗? –

+0

样本输入:[链接](http://4photos.net/zh/image:118-215226-Maple_Leaf_images), 样本输出:[link](http://0.tqn.com/d/gonewengland/1 /0/5/C/leaf5.gif) – user974227

+0

好的 - 1.1 Meg几乎不是'小',但看起来第一个链接线程概述的技术应该这样做。我怀疑沿着枫叶叶脉的那些浅色区域是否足够接近白色来混淆算法。尝试一下。 –

回答

0

只需在图像上做一个阈值,切出白色部分。然后你最终得到一个二进制图像。如果你愿意,你可以申请Canny。

+0

是的,这就是它的工作原理。上面给出的链接中的算法比Canny更准确。 – user974227

0

各种图形库中的边缘检测与PhotoshopPhotopaint中的边缘检测工具的功能相同。如果你不是真正的轮廓检测,你需要在它上面实现复杂的AI逻辑。

+0

是的,我已经尝试过安德鲁汤普森爵士建议并且工作。 – user974227