一、编译
下载源码:http://pan.baidu.com/s/1c0xRuVm
拷贝到linux下,解压,进入解压目录
$ mkdir release $ cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..(确保你已安装cmake,如果没有请安装)
$ make (这个过程可能会出错,错误及处理方法) $ sudo make install $ sudo ldconfig详细编译过程参见:
http://code.google.com/p/qt-opencv-multithreaded/wiki/Documentation
二、编译遇到的问题及解决办法
1、error: 'ptrdiff_t' does not name a type
make的时候出现error: 'ptrdiff_t' does not name a type造成编译错误,这个也是我搞来很多次没有成功只好选择系统库中自带的opencv。具体原因是没有加一个命名空间。只要在cxcore.hpp的命名空间地方加入
- using std::ptrdiff_t;
2、Link error undefined reference to `cvCreateCameraCapture_V4L(int)
首先更改/opencv/src/highgui/cvcap_v4l.cpp
205行
#if !defined WIN32 && defined HAVE_CAMV4L
替换为
#if !defined WIN32 && (defined HAVE_CAMV4L || defined HAVE_CAMV4L2)
如果问题没有解决在 cvconfig.h中(opencv/release)
增加
#define HAVE_CAMV4L3、linux/videodev.h: No such file or directory
$ sudo apt-get install libv4l-dev
来安装的,注意这里是 libv4L 而不是 libv41;
可是,现在你继续安装,依然会出现上述错误。这是由于这样安装的 libv4L 库把头文件名称改为
/usr/include/libv4l1-videodev.h
等。知道了原因,解决办法也很简单,只需要把出错这行代码的 #include 头文件改掉,即把文件
/modules/highgui/src/cap_v4l.cpp
第 217 行左右的
#include <linux/videodev.h>
代码,改为下面这行
#include <libv4l1-videodev.h>
参考文章:
https://code.ros.org/trac/opencv/ticket/324
http://blog.youkuaiyun.com/r91987/article/details/6849730
</pre><pre code_snippet_id="416317" snippet_file_name="blog_20140704_12_3442033" class="src src-c++" name="code" style="white-space: pre-wrap; font-size: 14px; background-color: rgb(255, 255, 255); word-wrap: break-word; line-height: 26px;">三、配置opencv库
首先打开<span style="font-family: 'Microsoft YaHei', SimSun, Verdana, Arial, Helvetica, sans-serif; line-height: normal; white-space: normal;">sudo vi /etc/ld.so.conf.d/opencv.conf</span><span style="font-family: 'Microsoft YaHei', SimSun, Verdana, Arial, Helvetica, sans-serif; line-height: 1.5; white-space: normal;">打开后可能没有内容,添加</span>
<pre style="white-space: normal; line-height: normal;">/usr/local/lib
sudo ldconfig使库文件生效
配置另一个文件sudo gedit /etc/bash.bashrc
增加 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
配置好之后source 一下就可以使用了
参考:http://www.samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/
Qt Opencv 在Linux下摄像头简单示例v1.0
http://blog.chinaunix.net/uid-24641004-id-3459705.html