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
编译代码 : g++ your_file -o your_app ‘
其他错误:
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编译安装问题真的是太多了,祝你好运~
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 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- 从源码安装Mysql/Percona 5.5
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- 你应该选择 Ubuntu 还是 Fedora?
- 100 个最佳 Ubuntu 应用(中)
- 看看我的Ubuntu Linux截图
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用