资源简介
JAVA开发的车牌定位及识别程序,res\image目录中包含可用于测试的图片,PlateRecognition.java类为程序入口。
代码片段和文件信息
package cc.eguid.charsocr;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.DataBuffer;
import java.awt.image.DataBufferByte;
import java.awt.image.SampleModel;
import java.math.BigDecimal;
import java.util.Vector;
import org.bytedeco.javacpp.opencv_imgcodecs;
import org.bytedeco.javacpp.Pointer;
import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_core.CvType;
import org.bytedeco.javacpp.opencv_core.CvTypeInfo;
import org.bytedeco.javacpp.opencv_core.Mat;
import cc.eguid.charsocr.core.CharsRecognise;
import cc.eguid.charsocr.core.PlateDetect;
/**
* 车牌识别
* @author eguid
*
*/
public class PlateRecognition {
static PlateDetect plateDetect =null;
static CharsRecognise cr=null;
static{
plateDetect=new PlateDetect();
plateDetect.setPDLifemode(true);
cr = new CharsRecognise();
}
/**
* 单个车牌识别
* @param mat
* @return
*/
public static String plateRecognise(Mat mat){
Vector matVector = new Vector(1);
if (0 == plateDetect.plateDetect(mat matVector)) {
if(matVector.size()>0){
return cr.charsRecognise(matVector.get(0));
}
}
return null;
}
/**
* 多车牌识别
* @param mat
* @return
*/
public static String[] mutiPlateRecognise(Mat mat){
PlateDetect plateDetect = new PlateDetect();
plateDetect.setPDLifemode(true);
Vector matVector = new Vector(10);
if (0 == plateDetect.plateDetect(mat matVector)) {
CharsRecognise cr = new CharsRecognise();
String[] results=new String[matVector.size()];
for (int i = 0; i < matVector.size(); ++i) {
String result = cr.charsRecognise(matVector.get(i));
results[i]=result;
}
return results;
}
return null;
}
/**
* 单个车牌识别
* @param mat
* @return
*/
public static String plateRecognise(String imgPath){
Mat src = opencv_imgcodecs.imread(imgPath);
return plateRecognise(src);
}
/**
* 多车牌识别
* @param mat
* @return
*/
public static String[] mutiPlateRecognise(String imgPath){
Mat src = opencv_imgcodecs.imread(imgPath);
return mutiPlateRecognise(src);
}
public static void main(String[] args){
int sum=100;
int errNum=0;
int sumTime=0;
long longTime=0;
for(int i=sum;i>0;i--){
String imgPath = “res/image/test_image/plate_locate.jpg“;
Mat src = opencv_imgcodecs.imread(imgPath);
long now =System.currentTimeMillis();
String ret=plateRecognise(src);
System.err.println(ret);
long s=System.currentTimeMillis()-now;
if(s>longTime){
longTime=s;
}
sumTime+=s;
if(!“苏EUK722“.equals(ret)){
errNum++;
}
}
System.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-23 19:30 vlpr4j-master\
文件 611 2017-11-23 19:30 vlpr4j-master\.classpath
文件 389 2017-11-23 19:30 vlpr4j-master\.project
目录 0 2017-11-23 19:30 vlpr4j-master\.settings\
文件 57 2017-11-23 19:30 vlpr4j-master\.settings\org.eclipse.core.resources.prefs
文件 978 2017-06-12 09:50 vlpr4j-master\README.md
目录 0 2017-11-23 19:30 vlpr4j-master\bin\
目录 0 2017-11-23 19:30 vlpr4j-master\bin\cc\
目录 0 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\
目录 0 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\
文件 3899 2017-11-23 19:33 vlpr4j-master\bin\cc\eguid\charsocr\PlateRecognition.class
目录 0 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\
文件 5271 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\CharsIdentify.class
文件 3580 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\CharsRecognise.class
文件 12515 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\CharsSegment.class
文件 1188 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\CoreFunc$Color.class
文件 1224 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\CoreFunc$Direction.class
文件 7331 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\CoreFunc.class
文件 2553 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\Features.class
文件 3920 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\PlateDetect.class
文件 3577 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\PlateJudge.class
文件 10872 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\PlateLocate.class
文件 2390 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\PlateRecognize.class
文件 434 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\core\SVMCallback.class
目录 0 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\util\
文件 4426 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\util\Convert.class
文件 1479 2017-11-23 19:30 vlpr4j-master\bin\cc\eguid\charsocr\util\Util.class
目录 0 2017-11-23 19:27 vlpr4j-master\libs\
文件 312994 2017-06-12 09:50 vlpr4j-master\libs\javacpp.jar
文件 9391973 2017-06-12 09:50 vlpr4j-master\libs\opencv-android-arm.jar
文件 8131196 2017-06-12 09:50 vlpr4j-master\libs\opencv-linux-x86_64.jar
............此处省略192个文件信息
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
- java8学习教程之lambda表达式的使用方法
评论
共有 条评论