写此文的目的是为了方便大家的学习,我是搞了半天,通过上网查找资料才成功的。亲测,希望对大家有帮助。我用的Ubuntu版本为14.04
1、准备工作
安装GCC:
sudo apt-get install build-essential
安装CMake
sudo apt-get install cmake
安装Git(可选)
sudo apt-get install git
安装GTK开发版
sudo apt-get install libgtk2.0-dev
安装pkg-config
sudo apt-get install pkg-config
安装Python
sudo apt-get install python3.2-dev
安装Numpy
sudo apt-get install python-numpy
安装媒体包:
sudo apt-get install ffmpeg //这个软件包我没有安装成功,不过后面测试的时候没有影响。
安装可选媒体包:
sudo apt-get install libavcodec-dev libavformat-devlibswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
2. 下载并创建OpenCV
我用的opencv2.4.9,在官网上下载的压缩包包名是opencv-2.4.9.zip,可以在官网上免费下载。
解压opencv-2.4.9.zip 解压命令:解压前进入该压缩包所在的目录
unzip opencv-2.4.9
然后执行以下命令:
cd opencv-2.4.9mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
将文件/etc/ld.so.conf中添加一行代码/usr/local/lib
(在修改过程中有可能出现权限问题,如果出现权限问题输入下面命令:
sudo su
用来得到root权限
然后
gedit /etc/ld.so.conf
进行编辑文件)
sudo /sbin/ldconfig -v
然后是跟改变量
sudo gedit /etc/bash.bashrc也是在最后一行添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
在home文件夹下编写一个hello.cpp文件进行测试,包含#include <opencv2/core/core.hpp>然后在命令行中输入
g++ `pkg-config --cflags --libs opencv` hello.cpp-o hello进行编译
如果没有报错则opencv配置成功。
3.在qt中测试
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main()
{
namedWindow( "src");
Mat img = imread( "/home/gzhao/lena.jpg" );
if(!img.data) {
cout<<"file not fount"<<endl;
return 1;
}
else {
imshow( "src", img );
waitKey();
return 0;
}
}
然后在×××.pro文件中添加如下配置
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv \
/usr/local/include/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so
需要提前把问家放到home路径下面。
运行结果图:
OpenCV官方教程中文版(For Python) PDF
CentOS下OpenCV无法读取视频文件