EasyPR 乙個開源的車牌檢測 識別專案

2021-09-11 16:48:26 字數 2565 閱讀 5606

一. 簡介

easypr是乙個中文的開源車牌檢測+識別系統,其目標是成為乙個簡單、高效、準確的車牌識別引擎.相比於其他的車牌識別系統easypr有如下特點:

二. 專案位址

三. 安裝編譯環境

[pzs@pzs-server:easypr]$ cat /etc/os-release                            # 系統環境

name="ubuntu kylin"

version="16.04.5 lts (xenial xerus)"

id=ubuntu

id_like=debian

pretty_name="ubuntu kylin 16.04.5 lts"

version_id="16.04"

home_url=""

support_url=""

bug_report_url=""

version_codename=xenial

ubuntu_codename=xenial

[pzs@pzs-server:easypr]$ cmake --version # cmake版本

[pzs@pzs-server:easypr]$ pkg-config --modversion opencv # opencv版本

3.2.0

[pzs@pzs-server:easypr]$ pkg-config --libs opencv # opencv安裝位置

-l/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

[pzs@pzs-server:easypr]$

四. 編譯和使用

轉殖專案到easypr/

進入easypr/ , 開啟cmakelist.txt檔案,修改opencv安裝位址

(我的opencv安裝位址為/usr/local/lib)

接著開啟easypr/include/easypr/config.h

#define cv_version_three_two #第四行修改cv_version_three_zero 為 cv_version_three_two。 readme.md中有說明
./build.sh # 執行作者提供的編譯指令碼,編譯後在根目錄生成demo檔案

這裡需要注意的是,如果你用了anaconda,而且在anaconda中安裝了opencv,需要在./bashrc中注釋掉anaconda環境,否則編譯會報錯

之前我就是沒注釋掉anaconda環境,而且anaconda安裝了opencv3.4,導致使用的庫不對,編譯報錯.

執行demo

./demo recognize -p 189.png
車牌原圖:

實現原理和步驟

車牌檢測

easypr的車牌檢測是使用svm來做的, 先使用影象處理的方式獲取到可能為車牌的區域, 然後使用訓練好的svm來對這些區域進行甄別.

替代方案 : 這一步現在可以用yolo等更為優秀的檢測演算法來代替.

字元識別

這個步驟的主要目的就是從上乙個車牌檢測步驟中獲取到車牌影象,進行光學字元識別(ocr)這個過程.使用的是ann(人工神經網路)的方式.

代替方案: 作者在使用ann進行字元檢測之前還對車牌中的文字進行了分割, 如今可以使用crnn進行車牌字元識別, 這樣還省掉了字元分割這以步驟.

easypr 流程圖

學長廣告

在這裡為自己打個廣告

學長親自接計算機畢業設計:

有意者q746876041

乙個車牌輸入元件(vue)

乙個簡單的車牌輸入元件 vue 效果圖 取消 primary size small plain click enterword 確認 keyboard province id province v if plateinput.input.dialo isible plateinput.input.t...

opengoo乙個開源的web office系統

opengoo 是乙個開源的web office,它完全提供了常規的office功能,還能夠通過網路發布和管理文件,目前 支援 text documents spreadsheets coming soon presentations task lists e mails calendars web...

開源乙個網路框架

前面有幾篇文章介紹過乙個基於linux epoll的網路介面,但並未將介面組合成乙個方便使用的網路框架。下面先簡單介紹下以前發布過的網路介面 首先是基本介面 kendynet.h kendynet.c 此介面提供了最簡單的單執行緒網路收發模型,並未提供封包解包等功能,使用者可在此之上根據自己的需求封...