基于EasyPR的车牌识别java版


调试通过,包含所需依赖文件,导入工程即可使用。车牌识别Demo。
资源截图
代码片段和文件信息
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.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个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)