在Linux下OpenCV的下载和编译
Posted GreenOpen专注图像处理
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Linux下OpenCV的下载和编译相关的知识,希望对你有一定的参考价值。
完整从代码编译OpenCV在很多情况下是必须的。总体上来看,都是下载、编译、配置这三个过程,其中一些细节值得注意,记录如下。这里以ubuntu为例,其他发行版可能略有不同。
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上下载相关代码:
2020年5月3日 当前最新 https://github.com/opencv/opencv/archive/4.3.0.zip
这里我们只安装基本的代码,如果结合contrib的话请参考相关资料。比如
《(5编译使用最新opencv)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练>
https://www.cnblogs.com/jsxyhelu/p/8000819.html此外,如果从github上下载资料比较慢,请参考相关修改host的文章
3、打开cmake-gui开始编译
总的流程是两次Make,一次generate,其他情况一路回车。其中下载ipp比较消耗时间。
其中,第一次configure是读出有哪些需要配置的内容的,第二次configure是确认这些需要配置的内容,generate是生成make可以编译的内容。
而后进入目录(比如上图的opencv_bin目录)进行
make
sudo make install
我建议使用cmake-gui而不是cmake,因为在安装过程中,可能会出现一些问题,最好现场解决掉。
其中,make比较消耗时间,install是很快的。
4、在QT中的配置并编写测试程序(如果不使用QT可以不看)
读懂这段:
如果共享库文件安装到了/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
以上是关于在Linux下OpenCV的下载和编译的主要内容,如果未能解决你的问题,请参考以下文章
VisualStudio下如何编译和使用最新版本的OpenCV(修正版)
编译 OpenCV 避免下载 linux-64-opencv-2.4.11-nppy27_0.tar.bz2
编译 OpenCV 避免下载 linux-64-opencv-2.4.11-nppy27_0.tar.bz2