使用OpenCV或其他库更改Android相机背景



我正在 android 中构建一个相机应用程序,它也应该在后台渲染一些动态内容(如天空滤镜(。我无法直接在 openCV 中找到任何示例。在 openCV 中是否有一种直接的方法可以做到这一点?如果没有,还有其他选择吗?

执行此类操作的步骤如下所示:

实现
  • 一个实现CvCameraViewListener2的片段,并覆盖函数onCameraFrame(如果您需要任何帮助,可以查看任何Android-OpenCV教程(。在此函数中,您应该做两件事:
  • 使用
  • BackgroundSubtractor类创建图像背景的遮罩(二进制图像,使用 1 指示像素是否是背景的一部分,如果不是,则使用 0(。我从未尝试过,但有传言说这是一个很好的算法,您可以查看其文档 - https://docs.opencv.org/3.4/d1/dc5/tutorial_background_subtraction.html。
  • 使用Mat.setTo方法将
  • 所需的任何内容复制到输入图像,使用 mask 参数定义哪些部分将受到setTo方法的影响。

最新更新