我目前正在努力思考计算图像轮廓的想法。存在许多不同类型的算法。有人说应该在边缘检测之后应用轮廓。有信息表明可以在灰度图像上计算轮廓,而其他人则说只能在二值图像上计算轮廓。我正在寻找在彩色图像上进行轮廓追踪的过程。我想了解更一般的概念:
是否先从要检查的自然图像中“切出”一个对象?
如果对象是剪影格式,图像是否需要是二进制的?
将图像转换为二值图像时可能会丢失大量数据,如何补偿?
在自然场景的栖息地中物体是如何被识别的?
任何指向文档或个人知识的链接都将不胜感激!我似乎找不到关于这些概念的太多信息。此外,如果有一个特定的轮廓算法具有出色的文档,那么链接将非常有帮助。谢谢!
最佳答案
我终于意识到我将两个密切相关的概念混在一起,这引起了一些困惑。边界追踪和寻找轮廓是有区别的。在边界追踪中,我发现是的,要追踪的对象需要是二值图像。如果对象是自然场景的一部分,则应将其从自然场景中移除并单独处理。追踪边界后,结果就是对象的轮廓(只是图像的轮廓,仅此而已)。至于对象内的边缘,一些边界跟踪算法会考虑边缘,而另一些则不会。这只是寻找轮廓的一种方法。
我的目标是创建包含缺失边界的图像轮廓(解决计算机视觉问题和封闭的格式塔原则)。边境追踪不会解决这个问题。相反,我查看了一个事件轮廓模型(蛇),它允许创建新边界并根据图像内的能量勾勒出现有边界。这满足了我找到图像轮廓以及关闭打开的边界的目标。
关于opencv - 查找非二进制图像的轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683493/