Ubuntu12.04上编译PlateGatewayQt

   2023-02-10 学习力0
核心提示:Ubuntu12.04上编译PlateGatewayQt  2013-03-09 00:21:56|  分类: Computer Vision 订阅  操作系统:Ubuntu12.04 32bit        最近要用到字符识别的项目,于是在网上找到一个不错的demo,链接如下:How-To Install PlateGatewayQt     

Ubuntu12.04上编译PlateGatewayQt  

2013-03-09 00:21:56|  分类: Computer Vision 订阅

 
 

操作系统:Ubuntu12.04 32bit
        最近要用到字符识别的项目,于是在网上找到一个不错的demo,链接如下:
How-To Install PlateGatewayQt
        首先需要PlateGatewayQt需要的相关开发工具包主要有qt,ffmpeg,opencv,tesseract,相关的编译依赖关系如下,以供交叉编译参考:
---------------------------------------------dependency--------------------------------------------------------------
PlateGatewayQt
|----Qt
|----OpenCV
|----gstreamer
|----ffmpeg
|----libx264
|----libfaac
|----libmp3lame
|----libtheora
|----libvorbis
|----libxvid
|----v4l
|----gtk2.x
---------------------------------------------dependency--------------------------------------------------------------
我们首先安装Qt的开发环境,不过在安装以前我们最好更新一下源:

$ sudo apt-get update

接下来我们需要:
1 安装qt的开发工具,这里我们选择安装qtcreator,系统会下载相关的依赖文件,终端下输入:

$ sudo apt-get install qtcreator

qt开发包安装完以后我们开始进行ffmpeg和opencv的编译,这里我们选择源码编译,编译的具体过程参考国外网友的博客:

http://www.ozbotz.org/opencv-installation/

2.1 为了避免共享库之间起冲突,我们需要删除之前系统中已经安装过的ffmpeg以及x264的包:

$ sudo apt-get remove ffmpeg x264 libx264-dev

2.2 接下来安装开发x264以及ffmpeg所需要的开发包:

$ sudo apt-get install build-essential checkinstall git cmake \

libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev \

libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev \

libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev \

texi2html yasm zlib1g-dev

2.3 下载gstreamer所需要的开发包:

$ sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev \

gstreamer0.10-tools gstreamer0.10-plugins-base \

libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good \

gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad \ gstreamer0.10-ffmpeg

2.4 下载gtk,这个包和图形界面相关:

$ sudo apt-get install libgtk2.0-0 libgtk2.0-dev

2.5 下载libjpegde>,这个包跟jpeg图像相关:

$ sudo apt-get install libjpeg8 libjpeg8-dev

2.6 在主文件夹下创建一个目录:

$ cd ~ $ mkdir src

2.7 下载x264源代码,编译并且进行安装

a. 作者建议下载最新的稳定版,下载链接:ftp://ftp.videolan.org/pub/videolan/x264 /snapshots/,具体哪个版本并不是特别重要,作者选择的版本是x264-snapshot-20120528-2245- stable.tar.bz2,这里鉴于国内网速不佳,个人推荐使用浏览器下载之后将包放在~/src目录下,然后在终端输入:

$ cd ~/src
$ tar xvf x264-snapshot-20120528-2245-stable.tar.bz2
$ cd x264-snapshot-20120528-2245-stable

b. 进行configure配置(生成makefile)并且编译x264

$ ./configure --enable-static $ make $ sudo make install

2.8 下载并且安装ffmpeg

a. 这里请注意,作者的教程安装的是ffmpeg 0.11.1而PlateGatewayQt进行开发的版本是0.6.6所以我们需要下载0.6.6版本,本人一开始安装了0.11.1版本之后在qt中编译出现了error,有几个函数只有在老版本的ffmpeg中才有!下载地址http://ffmpeg.org/download.html,这里鉴于国内网速不佳,个人推荐使用浏览器下载之后将包放在~/src目录下,然后在终端输入:

$ cd ~/src
$ tar xvf ffmpeg-0.6.6.tar.bz2
$ cd ffmpeg-0.6.6

 

b. 进行configure配置(生成makefile)并且编译ffmpeg

$ ./configure --enable-gpl --enable-libfaac --enable-libmp3lame \

--enable-libopencore-amrnb --enable-libopencore-amrwb \

--enable-libtheora  --enable-libvorbis --enable-libx264 \

--enable-libxvid --enable-nonfree --enable-postproc \

--enable-version3 --enable-x11grab --enable-pthreads

注意对于0.11.1中作者并没有给出“--enable-pthreads"的选项,而对于0.6.6中如果不添加该选项,那么在编译的时候会报错,据 个人猜测这可能是由于ffmpeg0.6.6中没有添加对线程库的支持。配置完毕并且成功生存makefile之后进行编译和安装:

$ make

$ sudo make install

2.9 下载并且安装最新稳定版的v4l(video for linux),作者使用的0.8.8,下载地址为:http://www.linuxtv.org/downloads/v4l-utils/,这个版本没有使用autotools生成,不需要configure,这里鉴于国内网速不佳,个人推荐使用浏览器下载之后将包放在~/src目录下,然后在终端输入:

$ cd ~/src
$ tar xvf v4l-utils-0.8.8.tar.bz2 $ cd v4l-utils-0.8.8 $ make $ sudo make install

2.10 下载和安装OpenCV 2.4.3(PlateGatewayQt中要求安装2.4.3,而该博文作者介绍的是2.4.2,请注意区别)
a. 下载OpenCV2.4.3,地址:http://sourceforge.net/projects/opencvlibrary/files/,这里鉴于国内网速不佳,个人推荐使用浏览器下载之后将包放在~/src目录下,然后在终端输入:

$ cd ~/src
$ tar xvf OpenCV-2.4.3.tar.bz2

b. 创建build目录并执行make

$ cd OpenCV-2.4.3/ $ mkdir build $ cd build $ cmake -D CMAKE_BUILD_TYPE=RELEASE ..

c. 确认cmake输出项中含有如下内容:
  • found gstreamer-base-0.10
  • GTK+ 2.x: YES
  • FFMPEG: YES
  • GStreamer: YES
  • V4L/V4L2: Using libv4l
d. 编译和安装OpenCV

$ make $ sudo make install

2.11 配置Linux
a. 将OpenCV链接库的路径加入linux,对于Red Hat/CentOS来说,可以将

export LD_LIBRARY_PATH=/usr/local/lib

加入/etc/profile或者~/.bashrc
对于Ubuntu来说,请将/usr/local/lib加入到/etc/ld.so.conf.d/opencv.conf,opencv.conf是不存在的需要新建:

$ sudo gedit /etc/ld.so.conf.d/opencv.conf

加入/usr/local/lib之后保存推出即可。接下来更新一下系统库的cache,在终端中输入:

$ sudo ldconfig /etc/ld.so.conf

b. 使用编辑器在/etc/bash.bashrc末尾加上下面两行

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

3 下载并安装tesseract(字模库),在终端中输入:

$ sudo apt-get install tesseract-ocr

4. 下载PlateGatewayQt并编译,下载链接:http://www.dexmac.com/src/PlateGatewayQt_150_src.zip

a. 使用qtcreator打开PlateGatewayQt工程,在PlateGatewayQt.linux.pro中末尾加入

INCLUDEPATH +=./include

b. 在最左边的选项卡中选择“项目”--“构建设置”--“构建步骤--“详情”修改qmake参数,截图如下:

 
Ubuntu12.04上编译PlateGatewayQt
 

修改之后的参数为:

"DEFINES+=_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE _ISOC9X_SOURCE __STDC_CONSTANT_MACROS" "LIBS += -L/usr/local/lib -lopencv_legacy -lopencv_core -lopencv_highgui -lopencv_objdetect -lopencv_imgproc /usr/local/lib/libavformat.a /usr/local/lib/libavcodec.a /usr/local/lib/libavutil.a -lz -lm -lbz2 -rdynamic -Wl,-rpath,/usr/local/lib -llept -ltesseract -lmp3lame -lx264 -lva -lfaac -lopencore-amrnb -lopencore-amrwb -ltheoradec -ltheoraenc -lvorbisenc -lvorbis -lxvidcore"

c. 编译过程中会提示找不到一些链接库,这里再安装上即可:

sudo apt-get install libbz2-dev libleptonica-dev libtesseract-dev

5. 运行PlateGatewayQt,下载测试视频,地址为:plate_test.avi

截图如下:

Ubuntu12.04上编译PlateGatewayQt

demo演示完成!^_^
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Ubuntu使用——15(thinkphp路由报错Non-static method think\Route::get() should not be called statically)
    Ubuntu使用——15(thinkphp路由报错Non-static
    在route.php中添加代码:use think\Route;Route::get('/',function (){return 'hello world';});在浏览器中输入http://localhost/tp5-git/public/index.php,报错:[8192] ErrorException in route.php line 13Non-static method think\Route::get() should n
    03-08
  • Ubuntu与Window双系统安装的注意事项
    Ubuntu与Window双系统安装的注意事项
      UBUNTU与WINDOW双系统安装的注意事项 由 匿名 (未验证) 提交于 2019-05-18 10:07:41登录 发表评论29 次浏览假定电脑里面已经存在了Window系统,安装另外一个Linux系统:第一:首先确定电脑里面的window系统引导方式电脑系统的引导方式分为:(1)传统
    03-08
  • Ubuntu 图形界面损坏修复方法!!!亲测有用!!!
    Ubuntu 图形界面损坏修复方法!!!亲测有用!
    1.现象今天做实验的时候打开Ubuntu虚拟机,输入密码之后发现变成这样:然后重新开机,到了输入密码界面不输入,而是输入快捷键CTRL+alt+F1,输入用户名+密码进入之后输入ls,发现我的文件还在,心想这不是系统炸了啊上网搜说是图形界面损坏于是重新来:(参考
    03-08
  • Ubuntu终端输入异常、无法退格(删除文本)、使用方向键命令
    Ubuntu终端输入异常、无法退格(删除文本)、使
    1 起因为了学习嵌入式开发安装去安装的ncurses库,使用命令:sudo apt-get install libncurses5-dev导致系统自带的ncurses-base被自动删除。2 出现的问题误删ncurses-base后导致终端输入窗口出现了一系列的问题:Ubuntu终端输入无法退格(删除文本)、使用↑
    03-08
  • Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    超级方便的无监视器VNC方便的树莓派远程桌面操作,无需显示器\(^^)/通过在页面末尾设置“无显示器设置”,可以在启动树莓派之前和之后连接和断开 HDMI 显示器电缆(这很重要)。来自主 PC 的远程桌面环境树莓派 4Ubuntu 20.04(64位)服务器+桌面设置VNC 设
    03-08
  • 免费供个人使用最多3个! !我尝试注册 ESM 将 Ubuntu LTS 版本的支持期延长 5 年
    免费供个人使用最多3个! !我尝试注册 ESM 将
    我个人使用 Ubuntu 作为我的 Linux 机器的操作系统。 Ubuntu 有正常版本和 LTS(长期支持)版本的操作系统。至此,版本号奇数为普通版,偶数为LTS版,LTS版长期支持5年,而普通版有支持期半年左右。。由于Linux机器用作GPU服务器,由于驱动程序和库的兼容性等
    03-08
  • [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir Desktop(未完成)
    [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir
    现状启用 WSLg 后,Elixir Desktop 会不会像在 Ubuntu 上一样工作?Elixir 桌面示例我试着跑步窗口显示并似乎在移动,但 Todo 应用程序未显示在窗口中。这是一个空白的显示。显示窗口和菜单。Extra 的内容也可以单独使用。如果您使用 Extra 的 Open Browser
    03-08
  • ubuntu中vi下删除键和上下左右键输入字符异常(
     刚安装的Ubuntu系统,使用vi编辑文本的时候,出现以下现象:点删除键输入了 D回车无效上下左右为字母光标乱跳 原因:自带的vi功能问题 解决:卸载原有vi,重新安装完整版本vim执行以下命令即可: sudo apt-get remove vim-common sudo apt-get install v
    02-10
  • ubuntu禁止ping操作(禁用ICMP协议访问) icmp
    ping命令是计算机之间进行相互检测线路完好的一个应用程序,计算机间交流数据的传输没有经过任何的加密处理,因此我们在用ping命令来检测某一个服务器时,可能在因特网上存在某个非法分子,为了安全我们把ping给禁止掉。通过专门的黑客程序把在网络线路上传输
    02-10
  • Ubuntu16配置静态IP ubuntu16.04配置静态ip
    一、静态IP地址配置sudo vi/etc/network/interfaces然后按照如下格式修改:注意这里的网卡名字是ens33auto loiface lo inet loopbackauto ens33iface ens33 inet staticaddress 192.168.1.106netmask 255.255.255.0gateway 192.168.1.1二、配置DNS#临时修改su
    02-10
点击排行