• CentOS 6.5 EasyPR环境搭建


    EasyPR是一款开源的中文车牌识别系统,项目地址

    在搭建的过程中,主要的问题是注意版本的兼容性,这里面的版本包括:opencv版本,g++版本以及cmake版本。

    我使用的EasyPr版本信息如下:

    commit 569e7642c2342a31e4358831597f1bedf23258bc
    Merge: b88966b eb54c4c
    Author: liuruoze <liuruoze@163.com>
    Date:   Thu Jan 14 21:59:19 2016 +0800
    
        Merge branch 'micooz-master'

    使用的Cmake版本为,

    [root@localhost EasyPR]# cmake --version
    cmake version 3.5.2
    
    CMake suite maintained and supported by Kitware (kitware.com/cmake).

       opencv的版本为:

    [root@localhost EasyPR]# ll /usr/opt/opencv-3.0.0
    total 480
    drwxr-xr-x. 15 root root   4096 Jun  4  2015 3rdparty
    drwxr-xr-x.  6 root root   4096 May 24 11:16 apps
    drwxr-xr-x.  2 root root   4096 May 24 12:39 bin
    drwxr-xr-x.  5 root root   4096 Jun  4  2015 cmake
    -rw-r--r--.  1 root root 165737 May 24 11:16 CMakeCache.txt
    drwxr-xr-x. 10 root root   4096 May 24 12:39 CMakeFiles
    -rw-r--r--.  1 root root   4858 May 24 11:16 cmake_install.cmake
    -rw-r--r--.  1 root root  55335 Jun  4  2015 CMakeLists.txt
    -rw-r--r--.  1 root root   1144 May 24 11:16 cmake_uninstall.cmake
    -rw-r--r--.  1 root root   6472 May 24 11:16 CPackConfig.cmake
    -rw-r--r--.  1 root root   6821 May 24 11:16 CPackSourceConfig.cmake
    -rw-r--r--.  1 root root   3710 May 24 11:16 cvconfig.h
    drwxr-xr-x.  8 root root   4096 May 24 11:16 data
    drwxr-xr-x.  6 root root   4096 May 24 11:16 doc
    drwxr-xr-x.  5 root root   4096 May 24 11:16 include
    -rw-r--r--.  1 root root  12909 May 24 12:39 install_manifest.txt
    drwxr-xr-x.  2 root root   4096 May 24 10:56 junk
    drwxr-xr-x.  2 root root   4096 May 24 12:38 lib
    -rw-r--r--.  1 root root   2224 Jun  4  2015 LICENSE
    -rw-r--r--.  1 root root 101350 May 24 11:16 Makefile
    drwxr-xr-x. 38 root root   4096 May 24 11:16 modules
    drwxr-xr-x.  2 root root   4096 May 24 11:16 opencv2
    -rw-r--r--.  1 root root  16391 May 24 11:16 OpenCVConfig.cmake
    -rw-r--r--.  1 root root    376 May 24 11:16 OpenCVConfig-version.cmake
    -rw-r--r--.  1 root root  11454 May 24 11:16 OpenCVModules.cmake
    drwxr-xr-x.  8 root root   4096 Jun  4  2015 platforms
    -rw-r--r--.  1 root root    636 Jun  4  2015 README.md
    drwxr-xr-x. 13 root root   4096 Jun  4  2015 samples
    drwxr-xr-x.  2 root root   4096 May 24 11:16 unix-install
    -rw-r--r--.  1 root root   6961 May 24 11:16 version_string.tmp

     

        g++版本为:

    [root@localhost EasyPR]# g++ --version
    g++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
    Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

       

    二. 与版本相关的问题

    2.1 GCC版本问题

    在centos 6.5上,Gcc的版本为

    [root@n122 ~]# gcc --version
    gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

        这个版本不能够完整的支持C++11的标准,所以需要对其进行升级,使用如下命令:

    wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
    sudo yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++

         执行完这两条命令后,会在/opt/rh目录下有GCC 4.8.2的新版本,这个时候系统的gcc仍然是老版本的,需要将系统的gcc进行替换,首先将/usr/bin下老版本的gcc都备份一下,

    image

    然后使用ln –s命令进行符号链接(例如gcc: ln –s /opt/rh/devtoolset-2/root/usr/bin/gcc /usr/bin/gcc ,其他以此类推)

    lrwxrwxrwx. 1 root root      37 May 24 14:08 /usr/bin/c++ -> /opt/rh/devtoolset-2/root/usr/bin/c++
    lrwxrwxrwx. 1 root root      37 May 24 13:34 /usr/bin/cpp -> /opt/rh/devtoolset-2/root/usr/bin/cpp
    lrwxrwxrwx. 1 root root 37 May 24 13:33 /usr/bin/gcc -> /opt/rh/devtoolset-2/root/usr/bin/gcc

    为了使用的方便,/etc/profile下也做了如下修改:

    export CC=/opt/rh/devtoolset-2/root/usr/bin/gcc  
    export CPP=/opt/rh/devtoolset-2/root/usr/bin/cpp
    export CXX=/opt/rh/devtoolset-2/root/usr/bin/c++

    2.2 Cmake版本问题

        同样centos 6.5上的cmake版本也太过老旧,不能够直接用来编译EasyPR,需要进行更新。

        到camke的官网上进行下载,地址。这是一个脚本,下载完后,直接执行就行,然后将其添加到/etc/profile中,如下:

        export PATH=$PATH:/data/zjc/soft_bk/cmake-3.5.2-Linux-x86_64/bin

     

    2.3 opencv的版本问题

        opecv我是使用3.0.0的版本,因为看到了如下的链接:

        https://github.com/liuruoze/EasyPR/issues/102 

    image

       从官网down下来opencv3.0.0.zip文件后,需要将opencv3.0.0编译、安装好,具体做法是:

       切换到opencv3.0.0的目录,执行cmake CMakeLists.txt, 然后执行make –j 12 && make install。 安装完成。

       在make的过程中,可能出现,ippicv_linux_20141027.tar.gz md5值不一致的情况

    opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ippicv_linux_20141027.tgz]
          expected hash: [8b449a536a2157bcad08a2b9f266828b]
            actual hash: [0103b909e19ca9c6497a7ae696c16480]

       这个时候,可以直接百度,将这个包下载下来,然后放到downloads路径下就OK了。

    三. EasyPR的编译

      EasyPR自身提供的build.sh文件不能够直接使用,需要手动进行编译。

      首先,修改CmakeLists.txt

    [root@localhost EasyPR]# pwd
    /data/zjc/CVS/EasyPR
    [root@localhost EasyPR]# emacs CMakeLists.txt

    image

    然后,将/data/zjc/CVS/EasyPR路径下的_build和CMakeFiles两个文件夹删掉(rm –fr)

    image

    然后执行,cmake CmakeLists.txt

    然后执行,make –j 12

    image

    最后,在EasyPR的上层目录生成了demo文件,注意,不是在EasyPR目录下生成的demo文件,然后把demo文件拷贝到 EasyPR路径下,进行测试,测试命令如下:

    ./demo recognize -p resources/image/plate_recognize.jpg --svm resources/model/svm.xml --ann resources/model/ann.xml

    image

    image

    image

  • 相关阅读:
    Vue-cli3 项目配置 Vue.config.js( 代替vue-cli2 build config)
    vue-cli 3 脚手架搭建(create)
    动态设置微信小程序 navigationBarTitle 的值
    微信小程序 获取cookie 以及设置 cookie
    微信小程序 scroll-view 左右横向滑动没有效果(无法滑动)问题
    JavaScript.Array.some() 方法用法
    vue 路由传参中刷新页面参数丢失 及传参的几种方式?
    vue $router.push 传参的问题
    将博客搬至CSDN
    再见,2020
  • 原文地址:https://www.cnblogs.com/justinzhang/p/5523649.html
Copyright © 2020-2023  润新知