diff --git a/CMakeLists.txt b/CMakeLists.txt index e44d13e..43df99d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0) +cmake_minimum_required(VERSION 3.0.0) project(easypr) # c++11 required @@ -6,11 +6,11 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) if (CMAKE_SYSTEM_NAME MATCHES "Darwin") - set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/usr/local/opt/opencv-3.1.0") + set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/usr/local/opt/opencv-3.2.0") endif () # OpenVC3 required -find_package(OpenCV 3.1.0 REQUIRED) +find_package(OpenCV 3.2.0 REQUIRED) # where to find header files include_directories(.) diff --git a/README.md b/README.md index 7eefe82..1a54479 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,23 @@ EasyPR是一个开源的中文车牌识别系统,其目标是成为一个简 本次更新版本是1.6alpha版本,主要有以下几点更新: -1. 代码优化与bug修复 +1. 采用灰度字符训练以及新的特征,使中文字符正确率上升到了86%,比上个版本提升了近14个百分点。 -2. 增加了一些数据集,例如灰度字符供训练 +2. 借助于字符分割与识别算法的优化,在general_test上的完整识别率(0-error)从原先的59%首次上升到现在的70%,1-error则提升到了82%。 -3. 其他改动可见changlog. +3. 在车牌判断模块中,使用了新的SVM特征(颜色+投影),从而在保持鲁棒性的同时,提升了正确率。定位指标中FScore从76%提升到82%. + +4. 新增一种新的字符分割方法,groundMSER字符分割方法。 + +5. 提供了近万张中文字符灰度图数据供训练,并且在主界面中提供了一个方法从free大神的车牌集里提取中文与英文字符。 + +6. 提供了两万两千张的字符灰度图数据,供训练灰度字符模型使用。 + +7. 代码优化与升级,许多bug修复。 + +8. Opencv3.2版本的支持,编译前仅需要将config.h中将#define CV_VERSION_THREE_ZERO改为#define CV_VERSION_THREE_TWO即可。 + +9. 更加友好的linux与mac版本支持,使用CMake即可顺利编译,单独的utf-8与gbk的文件供分别的系统使用。 对于Opencv3.2版本,可以在config.h中增加宏定义#define CV_VERSION_THREE_TWO解决不兼容问题 diff --git a/build.sh b/build.sh index ba2bc6e..d844777 100755 --- a/build.sh +++ b/build.sh @@ -1,31 +1,7 @@ #!/usr/bin/env bash -cd `dirname $0` -__dirname=`pwd` -PLATFORM=`uname | awk '{print tolower($1)}'` -BUILD_TMP_PATH=${__dirname}/_build - -BINARY_NAME=demo_${PLATFORM}_amd64 -BINARY_DIR=${__dirname}/bin -BINARY_FULL_PATH=${BINARY_DIR}/${BINARY_NAME} - -BUILD_BINARY_FULL_PATH=${BUILD_TMP_PATH}/${BINARY_NAME} - -# cleanup -if [ -f ${BUILD_BINARY_FULL_PATH} ];then - rm ${BUILD_BINARY_FULL_PATH} -fi - -# create tmp dir for cmake -mkdir -p ${BUILD_TMP_PATH} - -# Generate Makefile -cd ${BUILD_TMP_PATH} - cmake --clean-first -DCMAKE_BUILD_TYPE=Release ${__dirname} -cd ${__dirname} - -# Compile -if [ $? -eq 0 ];then - make --jobs 4 --directory ${BUILD_TMP_PATH} -fi - +rm -rf build +mkdir build +cd build +cmake .. +make -j8