Android-Opencv-Ncnn实现图片人像换背景-前言(资源准备)

之前的篇章写过了使用ffmepg对视频和图片进行编辑操作,可以实现转场、特效、编辑、裁剪、压缩、转换、合成等功能,在发布的ffmpeg so资源里集成了x264、x265、xfade转场、frei0r特效,有能力的朋友可以使用这些资源进行对应的视频、图片编辑工作,只是frei0r特效需要特别编译,有需要的朋友可以联系我这边。

今天我们来看看使用Opencv-Ncnn来进行Android端的图片人像换背景,网络上也有很多相关的文章,我这边做了个整合。

需要的资源:

Opencv:GitHub - nihui/opencv-mobile: The minimal opencv for Android, iOS, ARM Linux, Windows, Linux, MacOS, WebAssembly

https://download.csdn.net/download/qq_41294019/88881100

Ncnn:GitHub - Tencent/ncnn: ncnn is a high-performance neural network inference framework optimized for the mobile platform

https://download.csdn.net/download/qq_41294019/88881102

RVM:https://github.com/PeterL1n/RobustVideoMatting/blob/master/README_zh_Hans.md

 实时摄像头抠像:GitHub - FeiGeChuanShu/ncnn_Android_RobustVideoMatting: Android human segmentation by ncnn

https://download.csdn.net/download/qq_41294019/88881093

 这边是在FeiGeChuanShu基础上做的调整,将摄像头抠图相关的全部删掉了,保留了对RVM、opencv、ncnn的引用,以下是结构图:

下篇我们来进一步看看代码相关的操作。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于人脸识别的问题,以下是使用OpenCV-Java实现人脸识别的代码示例: 1. 引入OpenCV-Java库 在项目中引入OpenCV-Java库,可以从官网下载对应的版本,引入后,我们就可以调用OpenCV-Java提供的API来实现人脸识别。 2. 加载人脸识别器 在使用OpenCV-Java实现人脸识别前,我们需要加载一个训练好的分类器,可以使用官方提供的人脸识别模型,或自己训练。加载过程如下: ``` CascadeClassifier faceDetector = new CascadeClassifier("haarcascade_frontalface_alt.xml"); ``` 3. 读取图片并识别人脸 加载分类器后,我们可以读取一张图片并进行人脸识别,具体实现代码如下: ``` Mat image = Imgcodecs.imread("test.jpg"); // 读取图片 Imgproc.cvtColor(image, image, Imgproc.COLOR_BGR2GRAY); // 转为灰度图 Imgproc.equalizeHist(image, image); // 直方图均衡化,提高图像质量 Rect[] faces = faceDetector.detectMultiScale(image); // 识别人脸 for (Rect rect : faces) { Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0)); // 绘制人脸框 } Imgcodecs.imwrite("result.jpg", image); // 保存结果 ``` 其中,`detectMultiScale` 方法用于检测出图像中的人脸,返回一个`Rect`类型的数组,每个元素代表一个人脸的位置和大小。 4. 运行程序 将以上代码放入一个Java类中,运行程序即可实现人脸识别。注意,需要引入`org.opencv.core.Mat`、`org.opencv.core.Rect`、`org.opencv.core.Point`、`org.opencv.core.Scalar`、`org.opencv.imgcodecs.Imgcodecs`、`org.opencv.imgproc.Imgproc`等OpenCV-Java的类。 希望能够对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值