OpenCV是一个开源的计算机视觉算法库。
Open Source Computer Vision
它提供了Python和Java等的接口。

本文采用Eclipse集成开发工具
采用OpenCV4.5.3版本
1 下载OpenCV
OpenCV官网
https://sourceforge.net/projects/opencvlibrary/

下载的文件

2 解压,导出文件
双击下载的文件.


3 Eclipse项目添加jar包



4 jar包的依赖文件的配置


5 Java代码的实现
package com.wanmait.test;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;
public class TestMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
//载入库文件
CascadeClassifier cascade = new CascadeClassifier("C:\\Users\\wanmait\\Downloads\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml");
//加载OpenCV人脸识别文件 haarcascade_frontalface_alt.xml专门针对人脸识别的文件 路径为OpenCV导出的路径
if(cascade.empty()) {
System.out.println("人脸识别文件加载失败");
return;
}
MatOfRect matRect = new MatOfRect();
//存放检测的人脸的坐标等信息
Mat image = Imgcodecs.imread("d:/1.jpg");
//加载本地图片文件
if(image.empty()) {
System.out.println("本地文件加载失败");
return;
}
//检测本地文件人脸--人脸识别
cascade.detectMultiScale(image, matRect);
//image本地加载的图片 检测的多个人脸信息的数据保存到matRect中间
//对检测的每张人脸 画矩形
for(Rect rect:matRect.toArray()) {
Imgproc.rectangle(image, new Point(rect.x,rect.y), new Point(rect.x+rect.width,rect.y+rect.height), new Scalar(0,255,0),1);
//画矩形 Scalar画的矩形的颜色 参数1表示的矩形的线的像素
}
//利用图形界面 显示检测结果
HighGui.imshow("人脸识别", image);
HighGui.waitKey(0);
}
}
执行结果:
[object Object]出现以上异常,问题出在没有加载jar包的依赖
解决方法,重新操作第4步
错误二:
Exception in thread "main" CvException [org.opencv.core.CvException: cv::Exception: OpenCV(4.5.3) C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
人脸识别文件加载失败。
解决方法
检查加载OpenCV的人脸识别文件的代码。
new CascadeClassifier("")

0条评论
点击登录参与评论