如何根据透明区域分割图像

时间:2019-04-05 08:36:37

标签: c# image-processing transparency photoshop

我已经在互联网上进行了彻底搜索,但找不到解决方法

这就是我想要的

这是我的照片

enter image description here

这是我选择后透明度为0的样子

enter image description here

所以我想以编程方式将图像分成6个部分。每个包含一个鸡蛋,其中一个鸡蛋的透明区域为0

我该怎么做?

我基于c#或photoshop脚本的首选解决方案,但我愿意接受所有解决方案

示例输出

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

为解决任何图像尺寸,鸡蛋尺寸,方向,位置,计数的问题,我建议使用以下方法:

加载图像文件。

提取Alpha通道(其中包含透明度信息)

找到鸡蛋斑点(斑点搜索/分析,区域标记,连接的组件,此方法的无数名称)

获取这些斑点的边界框

使用那些边框裁剪子图像

这可以通过大多数图像处理库来实现。如果您喜欢C#,请尝试EmguCV。或使用网络搜索找到其他人。

http://www.emgu.com/wiki/files/3.1.0/document/html/e13fa7a9-5eee-b46c-4b65-ff3e7e427719.htm