以前做的win7上搭建opencv-qt文章:         

今天闲来无事,来吧opencv移植到linux上玩玩,由于几月前做过win7上的opencv2.4.7移植,感觉信心满满,但是还是在移植过程中遇到了点问题。

下面我们来看看具体的安装过程:

安装包准备:
         opencv-2.4.7.tar.gz              http://opencv.org/   建议下载最新版本for linux
         cmake-2.8.12.1-Linux-i386.tar.gz   http://www.cmake.org/cmake/resources/software.html
安装环境搭建:
         opencv在ubuntu中正确运行,需要在make以前在ubuntu安装pkg-config和libgtk2.0-dev
    所以我们要先将运行apt-getinstall libgtk2.0-dev  
                                                 apt-get install pkg-config

cmake的安装:

   cmake是我们编译安装opencv库的一个重要工具,它帮我们设定一些配置,用于生成用于编译安装的makefile,而且它可以通过界面进行配置,我感觉linux下的cmake比win上的更好用哎。

    1.首先我们先解压cmake  tar -zxvf cmake-2.8.12.1-Linux-i386.tar.gz -C/home/cmake/

     2.添加环境变量     gedit /etc/profile

     在最后添加       export PATH=$PATH: /home/cmake/cmake-2.8.10.2-Linux-i386/bin

     更新配置         source /etc/profile

     3.测试下cmake安装是否ok     cmake --version

opencv的解压:

         1.创建文件夹 #mkdir/home/opencv

         2.解压  tar -zxvf opencv-2.4.7.tar.gz -C /home/opencv

         3.创建文件夹(这里创建pc上运行的安装目录,arm上运行的安装目录)

cmake对opencv的配置:

         这里主要配置编译器路径,安装路径,库的安装需要之类的。

         1.运行cmake图形界面  #cmake-gui

         2.sourcecode指的是源码根路径,就是解压得到的文件夹    OpenCV-2.4.7/

         3.buildthe hinaries指的是生成makefile与待编译源码的路径  opencv-pv/

         4.点击configure,这里配置编译器选项,默认选择Unix Makefiles -> Use default native      compilers 先在pc上运行试试,就不用修改了。点击finish

mac 下 cmake 集成 opencv linux cmake opencv_cmake

5.配置自己需要的库和安装目录,buildtype键入Release,installprefix是opencv安装路  径,默认是在/usr/local下,我想修改成别的路径还没成功

mac 下 cmake 集成 opencv linux cmake opencv_qt_02

         如果想在qt上运行你的opencv,就要选上,这个版本的cmake在ubuntu里选择图案      竟然是叉叉。。。


mac 下 cmake 集成 opencv linux cmake opencv_opencv_03



         6.再按下configure,没有红色说明配置ok(这里说明一下 我的qt是qt4,出现一下红字  不用理会,如果qt版本是qt5就需要在qt安装目录下一个个找出对应文件夹路径填上,   否则没法产生makefile)

 

mac 下 cmake 集成 opencv linux cmake opencv_opencv_04

         7.点击generate,瞬间完成 提示Generating done说明cmake完成,产生了makefile

编译安装opencv:

1.cd到你填写的buildbinaries文件夹下,看到makefile后,运行make指令机子卡的      童鞋可以各忙各的了(顺便提醒一下,不想重新再编译一遍的童鞋一定要注意         libgtk2.0-dev的安装)
         2.makeinstall安装安装完后可以在/usr/local/lib下看到编译好的opencv共享库。
         3.登记库路径   gedit /etc/ld.so.conf.d/opencv.conf   自己创建配置文件
           在文件内添加/usr/local/lib,然后运行命令ldconfig更新库配置
         4.添加环境变量  gedit /etc/bash.bashrc     在文件后添加:
      PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
           export PKG_CONFIG_PATH
           退出后source /etc/bash.bashrc更新配置。
-----------------------------------------------------------------------------------------------------------------------------

到这里我们的opencv-qt环境已经搭建完毕了,接下来测试一下效果:

测试1:  运行opencv源码中自带的人脸识别测试例程

         1.  cd /OpenCV-2.4.7/samples/c

         2.  ./build_all.sh   编译测试程序

         3.  ./facedetect--cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"--scale=1.5 lena.jpg     如果成功则显示图片

mac 下 cmake 集成 opencv linux cmake opencv_linux_05

测试2: 在qt上运行个测试程序

         1.打开qt,创建一个空白项目,在工程构建文件中添加opencv的头文件和库路径

INCLUDEPATH+=/home/opencv/opencv-2.4.7/include/opencv     \
             	/home/opencv/opencv-2.4.7/include/opencv2    \
             	/home/opencv/opencv-2.4.7/include
	LIBS+= /usr/local/lib/libopencv*

         2.新建一个c++源文件添加到工程中,贴上下面的代码

#include"cv.h"
#include"cxcore.h"
#include"highgui.h"
int main()
{
    //声明IplImage指针
    IplImage *pImg;
    //载入图片
    pImg=cvLoadImage("/home/project/sword_art_online22.jpg",1);    //图片路径,小心
    //创建窗口
    cvNamedWindow("Image",1);
    //显示图像
    cvShowImage("Image",pImg);
    //等待按键
    cvWaitKey(0);
    //销毁窗口
    cvDestroyWindow("Image");
    //释放图像
    cvReleaseImage(&pImg);
    return 0;
}

结果显示出我的爱图:



mac 下 cmake 集成 opencv linux cmake opencv_qt_06


明天把opencv移植到ok6410板子上,移植成功了再继续写,米娜桑,下回见咯