使用easyPR调用openCV动态库,实现java版的中文车牌识别

本文介绍了如何在Java中使用EasyPR进行车牌识别,包括解决EasyPR-Java项目的依赖问题,如配置maven、设置opencv的本机库路径,并提到了针对openCV不支持中文文件名的批量测试方案。项目已在Windows 10 64位环境下测试通过,要求Eclipse、JDK和系统位数一致。
摘要由CSDN通过智能技术生成
EasyPR是一个中文C++的开源车牌识别系统,其目标是成为一个简单、高效、准确的车牌识别引擎。

“樂樂 / EasyPR-Java”开发了EasyPR的java版本,但没有上传lib目录,可能会导致许多同学无法运行。本人通过摸索,在其项目基础上增加了maven配置和使用说明,方便广大码农参考使用。原项目git地址:https://git.oschina.net/coca_le_cola/EasyPR-Java.git ,本人整理后的git地址:http://git.oschina.net/lgcjava/EasyPR-java。




[b]Downloads and Installation 下载安装[/b]
Git克隆一份拷贝到你本机或者直接下载zip压缩。EasyPR-Java 使用maven管理,需事先安装maven,并在eclipse配置变量M2_REPO,指向本地maven配置库。

另外本项目运行时需要安装opencv-2.4.11.exe,请从http://opencv.org/官网下载后安装。安装过程其实就只是解压。

[b]Eclipse[/b]

1.在项目根目录下执行maven eclipse:eclipse 然后使用Eclipse直接导入EasyPR的目录。
2.指定src和res为源代码目录
3.在project--properies--java-build-path中,选中opencv*.jar,指定native liberary目录为$%OPENCV_HOME%\build\java\x64
4.有时报错Failed to write core dump. Minidumps are not enabled by default on client versions of Windows,尚未找到对虚拟机应参数配置
好的,我了解了您的问题。要使用Java OpenCV调用摄像头并动态识别人脸,您需要遵循以下步骤: 1. 安装OpenCV库 您需要在本地计算机上安装OpenCV库,以便能够在Java调用OpenCV。您可以从OpenCV官方网站下载并安装OpenCV库。 2. 导入OpenCV库 在Java项目中,您需要导入OpenCV库。您可以使用Maven和Gradle等构建工具来导入OpenCV库。 3. 调用摄像头 您可以使用Java OpenCV中的VideoCapture类调用摄像头。以下是一个简单的示例代码: ``` import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.videoio.VideoCapture; public class CameraCapture { public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); VideoCapture camera = new VideoCapture(0); if(!camera.isOpened()){ System.out.println("Error"); } else { Mat frame = new Mat(); while(true){ if (camera.read(frame)){ System.out.println("Frame Obtained"); System.out.println("Captured Frame Width " + frame.width() + " Height " + frame.height()); Core.flip(frame, frame, 1); break; } } } camera.release(); } } ``` 此代码段将获取从摄像头获取的帧并将其翻转。 4. 识别人脸 要识别人脸,您可以使用Java OpenCV中的CascadeClassifier类。以下是一个简单的示例代码: ``` import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfRect; import org.opencv.core.Rect; import org.opencv.core.Scalar; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; import org.opencv.objdetect.CascadeClassifier; import org.opencv.videoio.VideoCapture; public class FaceDetection { public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); CascadeClassifier faceDetector = new CascadeClassifier("haarcascade_frontalface_alt.xml"); VideoCapture camera = new VideoCapture(0); Mat frame = new Mat(); while (true){ if (camera.read(frame)){ MatOfRect faceDetections = new MatOfRect(); faceDetector.detectMultiScale(frame, faceDetections); System.out.println(String.format("Detected %s faces", faceDetections.toArray().length)); for (Rect rect : faceDetections.toArray()){ Imgproc.rectangle(frame, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0)); } HighGui.imshow("Face Detection", frame); HighGui.waitKey(1); } } } } ``` 此代码段将检测从摄像头获取的帧中的面部,并将其框定。您需要下载名为“haarcascade_frontalface_alt.xml”的人脸检测器文件并将其放在代码中的相应位置。 希望这可以帮助您开始使用Java OpenCV调用摄像头并动态识别人脸。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值