您的位置:首页 > 运维架构

ubuntu opencv 安装编译问题

2016-04-28 15:17 656 查看
opencv下载地址

opencv_contrib下载

我的版本3.1.0

1.sudo apt-get install pkg-config libgtk2.0-dev

#opencv运行时需要的库

2. 解压

3. cd opencv

4. mkdir build

5. cd build

6. cmake -DWITH_IPP=ON -DINSTALL_CREATE_DISTRIB=ON .. && make -j $(nproc)

#直接用cmake会出现/usr/bin/ld: cannot find -lippicv的错误(fixes #5852)

或者 (需要下载opencv_contrib,参数可修改)

cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_IPP=ON -DINSTALL_CREATE_DISTRIB=ON -D BUILD_PYTHON_SUPPORT=ON -D WITH_XINE=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_EXAMPLES=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D OPENCV_EXTRA_MODULES_PATH=[path of opencv_contrib-3.1.0]/modules .. &&make -j$(nproc)

7. sudo make install

#include <opencv/cv.h>
#include <opencv/highgui.h>

using namespace cv;

int main() {
IplImage* img = cvLoadImage( "your_path.jpeg" );
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
cvShowImage( "Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "Example1" );
return 0;
}


编译代码 : g++ your_file -o your_app ‘
pkg-config opencv --cflags --libs


其他错误:

undefine reference to xxx 未链接到库,一般直接编译(如: g++ your_file -o y
4000
our_app)会报错,需要加-lopencv-core等参数(可以通过pkg-config opencv –cflags –libs命令查看)参考这里

运行时(./your_app)报错,需要安装运行时提示的某些包(如上gtk之类的)重新编译才能正确运行参考这里

关于opencv python

cmake 时出现警告:variable not used by this project:

BUILD_NEW_PYTHON_SUPPORT

BUILD_PYTHON_SUPPORT

这样即使编译了,也不会产生cv2.so,也不知道为什么没法使用编译成python的调用。这里有一个技巧,就是进入opencv/build/modules/python2执行make -j4,然后会生成cv2.so,然后sudo make install。

但是调用import cv2会报错ImportError: libopencv_core.so-xxx , cannot open shared object file: No such file or directory。

这里再到opencv/build执行sudo make install , opencv 会重新编译并产生依赖库,然后调用import cv2就没有问题了。或者进入终端在opencv/build/lib 路径下运行python 并且import cv2也没有问题。

吐槽下:opencv编译安装问题真的是太多了,祝你好运~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu opencv 安装 编译