基于EasyPR的车牌识别java版
调试通过,包含所需依赖文件,导入工程即可使用。车牌识别Demo。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-21 20:47 EasyPR-Java
文件 756 2016-09-24 16:07 EasyPR-Java.classpath
文件 268 2015-06-02 07:10 EasyPR-Java.gitignore
目录 0 2018-06-21 20:47 EasyPR-Java.idea
目录 0 2018-06-21 20:47 EasyPR-Java.ideadictionaries
文件 88 2015-06-02 07:10 EasyPR-Java.ideadictionariesfanwenjie.xml
目录 0 2018-06-21 20:47 EasyPR-Java.idealibraries
文件 204 2015-06-02 07:10 EasyPR-Java.idealibrariesjavacpp.xml
文件 202 2015-06-02 07:10 EasyPR-Java.idealibrariesjavacv.xml
文件 202 2015-06-02 07:10 EasyPR-Java.idealibrariesopencv.xml
文件 8792 2015-06-02 07:10 EasyPR-Java.ideauiDesigner.xml
文件 387 2015-06-02 07:10 EasyPR-Java.project
目录 0 2018-06-21 20:47 EasyPR-Javain
目录 0 2018-06-21 20:47 EasyPR-Javainorg
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasypr
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasyprcore
文件 5130 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCharsIdentify.class
文件 3510 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCharsRecognise.class
文件 11905 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCharsSegment.class
文件 1139 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCoreFunc$Color.class
文件 1175 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCoreFunc$Direction.class
文件 7660 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCoreFunc.class
文件 2525 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreFeatures.class
文件 3876 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateDetect.class
文件 3459 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateJudge.class
文件 10919 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateLocate.class
文件 2348 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateRecognize.class
文件 427 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreSVMCallback.class
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasypr est
文件 5011 2018-07-03 13:40 EasyPR-Javainorgeasypr estEasyPrTest.class
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasypr rain
............此处省略214个文件信息
package org.easypr.core;
import static org.bytedeco.javacpp.opencv_core.CV_32FC1;
import static org.easypr.core.CoreFunc.features;
import java.util.HashMap;
import java.util.Map;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_ml.CvANN_MLP;
import org.easypr.util.Convert;
/**
* @author Created by fanwenjie
* @author lin.yao
*
*/
public class CharsIdentify {
public CharsIdentify() {
loadModel();
if (this.map.isEmpty()) {
map.put(“zh_cuan“ “川“);
map.put(“zh_e“ “鄂“);
map.put(“zh_gan“ “赣“);
map.put(“zh_gan1“ “甘“);
map.put(“zh_gui“ “贵“);
map.put(“zh_gui1“ “桂“);
map.put(“zh_hei“ “黑“);
map.put(“zh_hu“ “沪“);
map.put(“zh_ji“ “冀“);
map.put(“zh_jin“ “津“);
map.put(“zh_jing“ “京“);
map.put(“zh_jl“ “吉“);
map.put(“zh_liao“ “辽“);
map.put(“zh_lu“ “鲁“);
map.put(“zh_meng“ “蒙“);
map.put(“zh_min“ “闽“);
map.put(“zh_ning“ “宁“);
map.put(“zh_qing“ “青“);
map.put(“zh_qiong“ “琼“);
map.put(“zh_shan“ “陕“);
map.put(“zh_su“ “苏“);
map.put(“zh_sx“ “晋“);
map.put(“zh_wan“ “皖“);
map.put(“zh_xiang“ “湘“);
map.put(“zh_xin“ “新“);
map.put(“zh_yu“ “豫“);
map.put(“zh_yu1“ “渝“);
map.put(“zh_yue“ “粤“);
map.put(“zh_yun“ “云“);
map.put(“zh_zang“ “藏“);
map.put(“zh_zhe“ “浙“);
}
}
/**
* @param input
* @param isChinese
* @return
*/
public String charsIdentify(final Mat input final Boolean isChinese final Boolean isSpeci) {
String result = ““;
Mat f = features(input this.predictSize);
int index = classify(f isChinese isSpeci);
if (!isChinese) {
result = String.valueOf(strCharacters[index]);
} else {
String s = strChinese[index - numCharacter];
result = map.get(s);
}
return result;
}
private int classify(final Mat f final Boolean isChinses final Boolean isSpeci) {
int result = -1;
Mat output = new Mat(1 numAll CV_32FC1);
ann.predict(f output);
int ann_min = (!isChinses) ? ((isSpeci) ? 10 : 0) : numCharacter;
int ann_max = (!isChinses) ? numCharacter : numAll;
float maxVal = -2;
for (int j = ann_min; j < ann_max; j++) {
float val = Convert.toFloat(output.ptr(0 j));
if (val > maxVal) {
maxVal = val;
result = j;
}
}
return result;
}
private void loadModel() {
loadModel(this.path);
}
public void loadModel(String s) {
this.ann.clear();
this.ann.load(s “ann“);
}
static boolean hasPrint = false;
publi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-21 20:47 EasyPR-Java
文件 756 2016-09-24 16:07 EasyPR-Java.classpath
文件 268 2015-06-02 07:10 EasyPR-Java.gitignore
目录 0 2018-06-21 20:47 EasyPR-Java.idea
目录 0 2018-06-21 20:47 EasyPR-Java.ideadictionaries
文件 88 2015-06-02 07:10 EasyPR-Java.ideadictionariesfanwenjie.xm
目录 0 2018-06-21 20:47 EasyPR-Java.idealibraries
文件 204 2015-06-02 07:10 EasyPR-Java.idealibrariesjavacpp.xm
文件 202 2015-06-02 07:10 EasyPR-Java.idealibrariesjavacv.xm
文件 202 2015-06-02 07:10 EasyPR-Java.idealibrariesopencv.xm
文件 8792 2015-06-02 07:10 EasyPR-Java.ideauiDesigner.xm
文件 387 2015-06-02 07:10 EasyPR-Java.project
目录 0 2018-06-21 20:47 EasyPR-Javain
目录 0 2018-06-21 20:47 EasyPR-Javainorg
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasypr
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasyprcore
文件 5130 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCharsIdentify.class
文件 3510 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCharsRecognise.class
文件 11905 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCharsSegment.class
文件 1139 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCoreFunc$Color.class
文件 1175 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCoreFunc$Direction.class
文件 7660 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreCoreFunc.class
文件 2525 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreFeatures.class
文件 3876 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateDetect.class
文件 3459 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateJudge.class
文件 10919 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateLocate.class
文件 2348 2018-06-21 20:47 EasyPR-JavainorgeasyprcorePlateRecognize.class
文件 427 2018-06-21 20:47 EasyPR-JavainorgeasyprcoreSVMCallback.class
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasypr est
文件 5011 2018-07-03 13:40 EasyPR-Javainorgeasypr estEasyPrTest.class
目录 0 2018-06-21 20:47 EasyPR-Javainorgeasypr rain
............此处省略214个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)