我确实没有想到opencv会这么难装!
我是因为要编译一个PnP算法,然后需要用到opencv,最初的时候我以为只需要装opencv就可以了,所以我最开始装的是opencv 4.x,但是装好之后并不能编译PnP,为此我还怀疑了是不是作者给的代码有问题还在github上提了issue,当时也想过opencv的版本问题,但是并没有继续装了,后面因为工作涉及的地方还是要用到PnP,所以才想着试试装一下opencv 2.4.x,最后这一路非常坎坷,还好成功装好了也成功编译了。
简单说一下我装成功的4.x的安装方法
OpenCV官网:Releases - OpenCV
先在官网选择适合版本的Sources,这里不包括2.x版本
// 安装一些必要环境
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
// 安装unzip解压缩
sudo apt-get install unzip
// 解压缩在官网下载的安装包
unzip opencv-4.x.zip
// 进入路径 创建build文件夹 并进入build
cd opencv-4.x
mkdir build && cd build
// 编译
cmake ..
make -j4
make install
// 检查是否成功
opencv_vision
4.x 版本的大概就是这样子吧,不清楚也可以参考一下别的blog!
这里我说的是我电脑装的情况!不代表所有的电脑!
刚开始我以为OpenCV 2.4.x 和 4.x 差不多一样的方法!就是先从官网下sources然后作上述一些操作!但是我在cmake 和 make的过程中总是会出现问题,而且是我解决不了的问题(我菜。网上很多解决方法我也试了但是我都不能装成功!
然后我就换了一种得源码的方式!Github!
OpenCV Github地址:GitHub - opencv/opencv: Open Source Computer Vision Library
先选择2.4的分支,然后下载zip包或者用git下载
git clone -b 2.4 https://github.com/opencv/opencv.git
然后解压缩编译等等其他的步骤就参考上面的代码段,是一样的!
在cmake的时候应该是会报错,然后报错信息见日志:
1. fatal error: sys/videoio.h: No such file or directory, 解决方式
// cmake .. 替换成下面
cmake .. -DCMAKE_BUILD_TYPE=Release -DCUDA_nppi_LIBRARY=true -DWITH_CUDA=OFF -DBUILD_TIFF=ON
2. 可能还有一个是版本不能识别的问题 CPACK_PACKAGE_VERSION does not match version provided by version.hpp 大概是这样, 解决方式
修改opencv目录下的CMakeList.txt
set(OPENCV_VCSVERSION "版本号")
ps:我用这种方式装出来的版本是2.4.13.7
最后祝大家都安装顺利!