发布于 2016-01-15 09:33:31 | 405 次阅读 | 评论: 0 | 来源: PHPERZ
这里有新鲜出炉的Python-OpenCV 图像与视频处理教程,程序狗速度看过来!
OpenCV 跨平台计算机视觉库
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
在下面网址下载linux版本的源码
http://opencv.org/downloads.html
Qt环境的安装配置自行完成(或参考往期博文->ubuntu下常用软件的安装)
cd opencv-2.1.0
mkdir release && cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_FFMPEG=OFF ..
make
sudo make install
安装目录为/usr/local
opencv的库文件则在 /usr/local/lib目录下
1:error ‘ptrdiff_t’ does not name a type opencv
解决方法:
在/include/opencv/cxcore.hpp文件中添加如下一行
using std::vector;
using std::string;
+using std::ptrdiff_t; //这是加的一行 在56行
2: error: ‘unlink’ was not declared in this scope
解决方法:
在src/highgui/loadsave.cpp中加入如下一行
#include<unistd.h>
3:error: ‘CODEC_ID_H264’ was not declared in this scope
解决方法:
方法1:
sudo apt-get install libopencv-dev
然后以下面的方法重新编译ffmpeg:
./configure --enable-shared --disable-static
make
sudo make install
方法2:
不使用ffmpeg,直接在cmake时禁掉FFMPEG这一项
-DWITH_FFMPEG=OFF
4:undefined reference to `cvCreateCameraCapture_V4L(int)'
vim opencv-2.1.0/src/highgui/cvcap_v4l.cpp
217 #ifdef HAVE_CAMV4L
218 #include <linux/videodev.h>
219 #endif
vim opencv-2.1.0/src/highgui/cvcap.cpp
把
164 #if defined (HAVE_CAMV4L) || defined (HAVE_CAMV4L2)
改为
164 #if defined (HAVE_CAMV4L)
5:其它的几个错误都是unlike不找不到declare,只面要在相应的源文件中加入unistd.h头文件即可解决
最后终于编译通过:
Linking CXX shared library ../../lib/cv.so
[100%] Built target cvpy
sudo -s
echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf
sudo ldconfig
//加入头文件的路径 编译时使用
INCLUDEPATH +=../opencv-2.1.0/include/opencv2
//加入需要用到的库,链接时使用
unix:!macx: LIBS += -lcv
unix:!macx: LIBS += -lcvaux
unix:!macx: LIBS += -lcxcore
unix:!macx: LIBS += -lhighgui
unix:!macx: LIBS += -lml