原理上来说,和windows下没有差别,我们同样使用Cmake-GUI来解决问题。
我们推荐QT和OpenCV全部采用官方的方式重新安装一遍,否则可能会丢失一些模块,而这些都会降低开发效率。
1、参考相关资料,为了避免麻烦,首先安装一些预置环境:
必须安装依赖的库
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
可以选择安装的
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2、从github上下载相关代码:
这里我们只安装基本的代码,如果结合contrib的话请参考相关资料。比如
《(5编译使用最新opencv)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练>
https://www.cnblogs.com/jsxyhelu/p/8000819.html
为了保证资料的最新性,这里坚持把最新版的OpenCV4通过GitHub下载下来,的确比较消耗时间。我使用的Ubuntu是16.04,目前还没有升级到18.04,但是将来会升级,18.04在易操作性上做得更棒。
如果从github上下载资料比较慢,请参考相关修改host的文章
3、打开cmake-gui开始编译
两次Make,一次generate,主要是下载ipp比较消耗时间。
而后打开目录进行
make,
sudo make install
这里几个注意的地方:、
不要使用world,不知道为什么这种情况下会报错(crash错误)
读懂这段:
如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
我们肯定是需要修改的
最后,我的结果为:
INCLUDEPATH += /usr/local/include/opencv4 \
/usr/local/include/opencv4/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so\
/usr/local/lib/libopencv_core.so\
/usr/local/lib/libopencv_videoio.so\
/usr/local/lib/libopencv_imgcodecs.so\
/usr/local/lib/libopencv_imgproc.so
4、编写测试程序
原文地址:https://www.cnblogs.com/jsxyhelu/p/10349447.html