当前位置:文档之家› 01.linux下搭建opencv并在qt中使用

01.linux下搭建opencv并在qt中使用

linux下搭建opencv并在qt中使用
作者:vmezr
由于最近要着手做pcduino上的视频聊天的项目,从未接触过pcduino,经过讨论决定使用qt来实现。

其实qt和opencv 我都没有接触过,也打算趁机学习一下。

言归正传,首先得搭建好需要的环境,第一步是安装配置opencv,然后在qt中使用opencv的库。

(opencv的安装方法部分参考雷雨同鞋哒~)
首先,在官网/中下载opencv原码,选择linux版本进行下载。

以opencv2.4.8为例:(我用的是opencv2.4.13)
1.将压缩包解压到/usr/local/
2.直接使用sudo apt-get install cmake下载并安装cmake
3.为了方便后续摄像头捕捉等功能还需要下载opencv依赖的一些包:
apt-cache search opencv
使用此命令可以直接查到需要下载的依赖包
leo@leo-virtual-machine:/usr/local/opencv/release$ apt-cache search opencv
libcv-dev - Translation package for libcv-dev
libcv2.3 - computer vision library - libcv* translation package
libcvaux-dev - Translation package for libcvaux-dev
libcvaux2.3 - computer vision library - libcvaux translation package
libhighgui-dev - Translation package for libhighgui-dev
libhighgui2.3 - computer vision library - libhighgui translation package
libopencv-calib3d-dev - development files for libopencv-calib3d
libopencv-calib3d2.3 - computer vision Camera Calibration library
libopencv-contrib-dev - development files for libopencv-contrib
libopencv-contrib2.3 - computer vision contrib library
libopencv-core-dev - development files for libopencv-core
libopencv-core2.3 - computer vision core library
libopencv-dev - development files for opencv
libopencv-features2d-dev - development files for libopencv-features2d
libopencv-features2d2.3 - computer vision Feature Detection and Descriptor Extraction library libopencv-flann-dev - development files for libopencv-flann
libopencv-flann2.3 - computer vision Clustering and Search in Multi-Dimensional spaces library libopencv-gpu-dev - development files for libopencv-gpu
libopencv-gpu2.3 - computer vision GPU Processing library
libopencv-highgui-dev - development files for libopencv-highgui
libopencv-highgui2.3 - computer vision High-level GUI and Media I/O library
libopencv-imgproc-dev - development files for libopencv-imgproc
libopencv-imgproc2.3 - computer vision Image Processing library
libopencv-legacy-dev - development files for libopencv-legacy
libopencv-legacy2.3 - computer vision legacy library
libopencv-ml-dev - development files for libopencv-ml
libopencv-ml2.3 - computer vision Machine Learning library
libopencv-objdetect-dev - development files for libopencv-objdetect
libopencv-objdetect2.3 - computer vision Object Detection library
libopencv-video-dev - development files for libopencv-video
libopencv-video2.3 - computer vision Video analysis library
opencv-doc - OpenCV documentation and examples
python-opencv - Python bindings for the computer vision library
4.安装上述所依赖的包(sudo apt-get install xxx就ok)
5.接着就要编译opencv的原码并安装:
执行以下命令:
sudo mv opencv-2.4.8 opencv
cd opencv
mkdir release
cd release
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D BUILD_opencv_python2=ON -D
BUILD_NEW_PYTHON_SUPPORT=ON -D
WITH_V4L=ON-DINSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON-DBUILD_EXAMPLES= ON -D WITH_QT=ON -D WITH_OPENGL=ON -D
WITH_VTK=ON..
注意上面命令最面的“空格..”(make编译的过程会很久~耐心等待吧)
sudo make
sudo make install(昨晚已做完这一步)
6.接着安装完成后进行配置:
添加库的路径:
sudo gedit /etc/ld.so.conf.d/opencv.conf
添加内容:
/usr/local/lib
然后输入,使设置生效:
sudo ldconfig
配置环境变量:
sudo gedit /etc/bash.bashrc
在文件最后加入以下两行并保存:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/p kgconfig
export PKG_CONFIG_PATH
(此时opencv的安装基本完成了~~~)
7.可以测试下opencv自带测试程序:
执行以下命令:
cd /usr/local/opencv/samples/c
sudo chmod +x build_all.sh
./build_all.sh
运行:
python /usr/local/opencv/samples/python2/turing.py 会显示出如下效果图:
经过以上步骤opencv安装配置完成。

需要在qt中使用opencv只用经过非常简单的步骤:(我自己走了弯路,所以遇到很多问题不过最后解决了)只需每次在qt工程文件.pro中加入一下内容:
(在#input之前加入,第一个opencv库的位置根据自己的路径来添加,比如我是在/usr/local/include/opencv下的,有人却在/usr/include/opencv下)
INCLUDEPATH += /usr/local/include/opencv
LIBS += -lopencv_core \
-lopencv_imgproc \
-lopencv_highgui \
-lopencv_ml \
-lopencv_video \
-lopencv_features2d \
-lopencv_calib3d \
-lopencv_objdetect \
-lopencv_contrib \
-lopencv_legacy \
-lopencv_flann
然后尽管qmake,make,运行。

可以使用这样的测试程序:(1.jpg图片可自行添加)
然后:
qmake --project
修改.pro文件加入上述库的路径qmake xx.pro
make
./xx
以下是我的测试结果:
(如果编译成功就说明在qt中使用opencv成功了,如果编译出错,有可能是之前的库路径添加有误。


简单的安装配置就到这里了,其它的还没有学习~。

相关主题