实现一个 Android 项目,其中相机拍摄照片。 我想要更改图像的背景。 需要哪些步骤来检测图像中的对象并裁剪对象以应用不同的背景? 或者只是简单地更改背景。 是否需要图像处理?是否有可用于图像处理的库? 谢谢。
您需要找到一种方法来确定哪些像素是背景,哪些不是。复杂性将取决于您的背景视觉特征。如果它是固定颜色(如电视色度键),那么就会非常简单。只需替换这种颜色的像素即可。如果是风景,则会更加复杂。我建议从最简单的方法开始,然后改进您的解决方案。您还可以使用固定摄像机和两张照片进行工作。拍摄第一张照片(仅为背景),再拍一张场景中的物体照片。查找两个图像之间的差异,即可知道什么是背景,什么是物体。 此处(在00:50处)演示了实时执行色度键应用的示例。处理之前收集背景(没有场景中的物体的照片)。
目前最好的用于Android的图像处理库(仅支持ARM架构)是JavaCV,它是OpenCV的Java接口,后者是C++中标准的图像处理库。 这里有一个示例用于在Android中进行人脸检测,并提供了您的AndroidManifest.xml的所有配置提示。 编辑:这里有一个示例使用轮廓检测。