OpenCV 裁剪图像

标签 opencv image-processing

我有一张图像,其中包含黑色背景上的白色簇。白色部分的簇没有连接在一起,但是我想围绕整个外壳而不是每个簇绘制轮廓。附有图像。

当我尝试形成轮廓时,它是围绕单个簇进行的。我可以获得一些关于如何形成一个总体轮廓的提示、帮助或代码吗? enter image description here

最佳答案

opencv 凸包函数几乎完全符合您的要求。它“找到点集的凸包”。请参阅:

我说“几乎”,因为你可能不想直接穿过左下角。

另一种方法是进行形态学扩张 N 次,直到只有一个连续的白色区域。您需要考虑如何有效地检查是否只剩下一个白色区域。然后腐 eclipse N 次以恢复到与原始形状大致相同的形状(但只有一个连续的形状)。然后找到轮廓。如果这样做,您需要将图像嵌入到更大的黑色背景中,以便有膨胀的空间。 请参阅:

关于OpenCV 裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16765753/

相关文章:

c++ - 使用opencv从二进制图像中删除半曲面对象

java - Java中如何实现 "Duotone"效果

python - 有效地计算图像像素差异

python - OpenCV-Tensorflow模型导入错误

c++ - 在图像/opencv/c++ 中获取检测到的圆的中心

c++ - 眨眼检测 OpenCV C++

matlab - 对于类型 'extractHOGFeatures' 的输入参数,未定义函数 'uint8'

matlab - 手动将RGB图像转为灰度Matlab

python - 如何将 openCV 转换图像转换为原始格式

image-processing - 两个图像相似 - 测量