Ubuntu12.04上编译PlateGatewayQt

简介:
操作系统: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演示完成!^_^

本文转自博客园知识天地的博客,原文链接:Ubuntu12.04上编译PlateGatewayQt,如需转载请自行联系原博主。

相关文章
|
6月前
|
Ubuntu
百度搜索:蓝易云【ubuntu编译安装pcl教程。】
请注意,以上步骤仅涵盖了基本的编译和安装过程。根据您的系统配置和需求,可能需要进行更多的配置和选项设置。建议查阅PCL官方文档和相关资源,以获取更详细的信息和指导。
74 2
|
7月前
|
Ubuntu 安全 关系型数据库
百度搜索:蓝易云【Ubuntu 18.04系统编译安装MySQL 5.7教程。】
现在,您已经成功地在Ubuntu 18.04上编译和安装了MySQL 5.7。请注意,这只是基本的安装过程,您可能需要进一步配置和保护您的MySQL实例。确保在实际操作中根据您的需求进行适当的配置和调整,并设置安全的密码策略。
108 0
|
3月前
|
Ubuntu 固态存储 算法框架/工具
ubuntu下编译ssd-caffe遇到的问题汇总
ubuntu下编译ssd-caffe遇到的问题汇总
|
4月前
|
并行计算 Ubuntu Linux
Ubuntu 20.04 Anaconda的简单使用以及虚拟环境中编译使用 OpenCV 4.11源码
Ubuntu 20.04 Anaconda的简单使用以及虚拟环境中编译使用 OpenCV 4.11源码
142 0
|
4月前
|
Ubuntu 计算机视觉 C++
Ubuntu 20.04 编译 Opencv 4.11,详细步骤(带图)及报错解决,我的踩坑之旅~
Ubuntu 20.04 编译 Opencv 4.11,详细步骤(带图)及报错解决,我的踩坑之旅~
628 0
|
3月前
|
Ubuntu C++
百度搜索:蓝易云【Ubuntu下编译OCC教程】
请注意,以上只是概述,并不包含详细的步骤和指令。编译OpenCASCADE是一个复杂的过程,需要有一定的编译和C++编程经验。建议在编译OpenCASCADE之前,先学习相关知识并查阅官方文档和教程,以确保正确编译和使用OpenCASCADE库。
26 0
|
3月前
|
Kubernetes NoSQL Linux
Ubuntu18.04 gRPC编译安装
Ubuntu18.04 gRPC编译安装
|
3月前
|
存储 Ubuntu 开发工具
ffmpeg笔记(二)windows下和ubuntu-16.04下ffmpeg编译
ffmpeg笔记(二)windows下和ubuntu-16.04下ffmpeg编译
|
4月前
|
Ubuntu 计算机视觉
百度搜索:蓝易云【ubuntu下简单编译opencv教程。】
通过按照以上步骤进行,你应该能够成功在Ubuntu系统下编译和安装OpenCV。请注意,具体的步骤可能会因系统版本和OpenCV版本而有所不同。如果遇到任何问题,可以查阅OpenCV官方文档或社区寻求更多帮助。
31 0
|
4月前
|
人工智能 并行计算 Ubuntu
极智AI | ubuntu编译Darknet与YOLO训练
大家好,我是极智视界,本文介绍了在 ubuntu 上编译 darknet 及 yolo 训练的方法。
62 0