资源简介

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个文件信息

评论

共有 条评论