如何检测blob并将其裁剪成png文件?

Ahm*_*rim 4 c# python gd opencv computer-vision

我一直在研究一个webapp.我陷入了一个有问题的问题.我会试着解释我想做什么.在这里你看到第一个有绿色形状的大图像.我想要做的是将这些形状裁剪成不同的png文件,并使其背景透明,就像大图下面的示例裁剪图像一样.

主图像输入

裁剪1.

裁剪2.

裁剪3.

第一张图片将由用户上传,我想裁剪成上面的示例裁剪图片.可以使用php的GD库或用python或c#编写的服务器端软件.但我不知道这个操作叫什么,所以我不知道谷歌找什么信息.它与计算机视觉检测斑点和将它们裁剪成碎片等有关.任何关键字,链接都会有所帮助.

谢谢你的帮助

Bri*_*ian 5

一个非常简单的方法是使用Flood Fill/Connected Component Labeling.基本上,这只是使用贪婪算法,通过对任何颜色相同或相似的像素进行分组.

这绝对不是检测斑点的理想方法,只能在有限的情况下有效.但是,它更容易理解和编码,可能足以满足您的需要.