【发布时间】:2017-05-24 05:19:35
【问题描述】:
我想使用 OpenCv 方法来分割图像。我遇到了 Grabcut 算法,但这仍然需要人工交互,比如画一个框来环绕一个对象。 所以我的问题是如何使用 OpenCv 自动进行分割?非常感谢 C++ 或 Java 中的建议和代码 sn-p。
更新:我正在尝试从盘子和餐桌中分割食物。
【问题讨论】:
-
你能告诉我们你想要分割的图像类型吗?使用openCV切割物体的方法有很多,但是方法取决于物体的类型、对比度等。
-
我已经更新了我的问题
-
您最好向我们展示您想要的实际图像,否则无法帮助您,但这是基本原则:
-
如果您有彩色图像,您的食物可能与您的盘子和桌子颜色不同(假设您想在木桌上的白盘子上找到西红柿和胡萝卜)。在这种情况下,要选择对象,使用颜色分类可能是最简单的方法。如果您只有灰度图像,则需要在图像上有足够的对比度以检测物体的边缘(基本上是您的眼睛会做的事情)。然后,您可以使用 OpenCV 提供的几种算法提取这些边缘。例如,您可以尝试使用 sobel 过滤器来获取边缘
标签: opencv computer-vision image-segmentation