在图像中检测物体并更改图像背景

3

实现一个 Android 项目,其中相机拍摄照片。

我想要更改图像的背景。

需要哪些步骤来检测图像中的对象并裁剪对象以应用不同的背景?

或者只是简单地更改背景。

是否需要图像处理?是否有可用于图像处理的库?

谢谢。


  1. 寻找所有边界,2. 查找对象,3. 用新背景填充对象外的所有区域。对象是什么类型的?顺便提一句,如果背景不是单色的,或者对象和背景颜色相似,那么查找对象将会很困难。
- Eddy_Em
2个回答

2
您需要找到一种方法来确定哪些像素是背景,哪些不是。
复杂性将取决于您的背景视觉特征。如果它是固定颜色(如电视色度键),那么就会非常简单。只需替换这种颜色的像素即可。如果是风景,则会更加复杂。
我建议从最简单的方法开始,然后改进您的解决方案。
您还可以使用固定摄像机和两张照片进行工作。拍摄第一张照片(仅为背景),再拍一张场景中的物体照片。查找两个图像之间的差异,即可知道什么是背景,什么是物体。 此处(在00:50处)演示了实时执行色度键应用的示例。处理之前收集背景(没有场景中的物体的照片)。

2

目前最好的用于Android的图像处理库(仅支持ARM架构)是JavaCV,它是OpenCV的Java接口,后者是C++中标准的图像处理库。

这里有一个示例用于在Android中进行人脸检测,并提供了您的AndroidManifest.xml的所有配置提示。

编辑:这里有一个示例使用轮廓检测。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接