Ubuntu14配置OpenCV2.4.11
1、Ubuntu14.04的编译器检查
命令:$gcc --version $g++ --version
2、在Ubuntu14.04的根目录下新建一个/work/tools/目录,并修改目录的权限,将opencv2.4.11放到此目录下。
$sudo mkdir work
$cd work
$sudo mkdir tools
$sudo chmod 777 tools
3、解压与配置
(1)opencv解压:$unzip 2.4.11.zip
(2)安装相关的库
$sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
4、安装
进入解压后的opencv2.4.11目录,执行以下命令:
- cd opencv2.4.11/
- cmake .(注意在“.”之前有个空格)
- sudo make
- sudo make install
(1)之前编译与安装后的OpenCV库在/usr/local/lib/目录下;opencv.pc位于/usr/local/lib/pkconfig/目录下。
将opencv的库加入到路径,从而让系统可以找到$sudo vim /etc/ld.so.conf.d/opencv.conf末尾加入/usr/local/lib(内容是opencv的lib的路径:),保存退出
执行:$sudo ldconfig 使配置生效。
(2)在文件/etc/bash.bashrc 末尾加入
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
- export PKG_CONFIG_PATH
$source /etc/bash.bashrc #使配置生效 $sudo updatedb #更新database(3)将/usr/local/lib/pkgconfig中的opencv.pc文件拷到/usr/lib/pkgconfig文件中去,
可采用命令$sudo cp /usr/local/lib/pkgconfig/opencv.pc /usr/lib/pkgconfig。否则,执行./build_all.sh会报错。
6、程序测试
#include <opencv2/opencv.hpp> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <iostream> using namespace cv; using namespace std; int main() { Mat img = imread( "test.jpg" ); namedWindow( "src"); if(!img.data) { cout<<"file not fount"<<endl; return 1; } else { imshow( "src", img ); waitKey(); return 0; } }
编译命令:
最开始使用的$g++ `pkg-config --cflags --libs opencv` test.cpp -o test编译命令,此命令在CentOS系统下是可以。但是,在Ubuntu系统编译报错:
刚开始还以为opencv的库没有配置好。百度后,原来是编译命令格式的问题。使用下面的命令:
$g++ test.cpp `pkg-config --cflags --libs opencv` -o test
程序正常编译通过。
程序正常运行的结果: