Linux下OpenCV的安装配置

来源:互联网 发布:游戏充值平台源码 编辑:程序博客网 时间:2024/05/21 03:25
1 安装cmake及一些依赖库
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
2 安装opencv
从官网下载opencv并解压,cd命令进入opencv的目录
下载地址:http://opencv.org/downloads.html
cmake .
(cmake时间较长,约半小时)
sudo make
sudo makeinstall
3.解压


5.生成Makefile
注意:安装2.2版本应该先修改文件夹中cap_v4l.cpp.
另外需要root权限执行此命令,否则只读状态打开文件,无法修改。可su命令切换root帐号,也可使用sudo使用root权限。


$ sudo gedit modules/highgui/src/cap_v4l.cpp 
231行和232行
#define DEFAULT_V4L_WIDTH  640
#define DEFAULT_V4L_HEIGHT 480
改为:
#define DEFAULT_V4L_WIDTH  320
#define DEFAULT_V4L_HEIGHT 240


修改完后编译,注意是空格再加一点。
另外需要root权限执行此命令,否则会编译出错。可su命令切换root帐号,也可使用sudo使用root权限,以下带sudo命令同理。


$ sudo cmake .


或者也可以返回上一级执行如下命令:
$ cd ..
$ sudo cmake OpenCV-2.2.0
6.编译安装


$ sudo make
$ sudo make install


第一个make时,可能会出现出现一下编译错误:
error1:


/home/scholarfish/programs/OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp:217:28: fatal error: linux/videodev.h: 没有那个文件或目录
 compilation terminated.
 make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_v4l.o] 错误 1
 make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 错误 2
 make: *** [all] 错误 2


error2:大约出现进度为80%


../../lib/libopencv_highgui.so.2.2.0: undefined reference to `cvCreateCameraCapture_V4L(int)'
collect2: ld returned 1 exit status
make[2]: *** [bin/opencv_createsamples] 错误 1
make[1]: *** [modules/haartraining/CMakeFiles/opencv_createsamples.dir/all] 错误 2
make: *** [all] 错误 2


问题原因及解决办法参考链接:


7.配置生成库的路径
配置opencv.conf文件


$ sudo gedit /etc/ld.so.conf.d/opencv.conf
在opencv.conf中添加:
/usr/local/lib


配置bash.bashrc文件


$sudo gedit /etc/bash.bashrc
在bash.bashrc文件末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH


8.更新使配置文件生效
以下两种方式均可更新配置文件:
(1)重启或注销,重新登录
(2)root下 


# source /etc/bash.bashrc


9.测试
编译并运行samples/c中示例程序测试是否安装成功


$ cd ~
$ mkdir opencv_samples
$ cd cp ~/programs/OpenCV-2.2.0/samples/c/* opencv_samples
$ cd opencv_samples
$ chmod +x build_all.sh
$ ./build_all.sh
$ ./facedetect --cascade="/usr/local/share/opencv/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg
原创粉丝点击