下载源码最简单的方式还是通过github,也不慢
git-clone https://github.com/opencv/opencv.git
顺便下载contrib模块
git-clone https://github.com/opencv/opencv_contrib.git
2.进入源码
下载好之后,进入目录,在opencv主目录下有 doc 目录 ,其中的 .markdown 文件都可以看看,
cd ~/opencv/doc/tutorials/introduction
ls 之后会看见很多目录,查看各个目录下的.markdown文件
在linux平台上安装opencv,可以查看
general_install :opencv核心团队的官方教程,从安装准备到按转
linux_install :其中有一些安装说明,比如默认安装之后的各个文件在哪
config_reference :该目录下的.markdown文件列出的opencv的构建配置选项,及构建方法,列出了详细的 cmake 命令,通过不同的配置构建出你想要的功能模块,此文件很需要看一下。
3.直接cmake构建
网上浏览的教程在这之前都需要安装很多依赖项,教程中列出的依赖现在已经apt-get不倒了,我也不知道opencv在构建时是否会自己安装,所以我就不说了。
在读了配置文件之后啊,编写自己的简单cmake shell脚本,直接cmake
在cmake之前需要创建单独的构建目录,防止污染源码,cmake本身也要求这样
cd opencv
mkdir build
cd build
vim Myconfig.sh
cmake -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib/modules \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D WITH_OPENGL=ON \
-D INSTALL_C_EXAMPLE=ON \
-D INSTALL_PYTHON_EXAMPLE=ON \
-D WITH_CLP=ON \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
..
把cmake命令放在shell脚本中方便修改,上述配置宏定义在config_reference.markdown文件中都有介绍。
其中OPENCV_GENERATE_PKGCONFIG=ON,会在build/unix-install目录下生成opencv.pc文件,这个文件可以给pkg-config使用。
##########在安装完成之后做法是将其复制到pkg-config的搜索路径下面
#查看pkg——config路径
echo $PKG_CONFIG_PATH
:/usr/local/lib/pkgconfig
cp ./opencv4.pc /usr/local/lib/pkgconfig
pkg-config还不会用,但是参照的网上教程在用g++编译程序时都用这个,安装完之后可以检测opencv安装好没
pkg-config opencv4 --modversion
4.编译及安装
cmake之后能很明显看出cmake是否成功,并且输出了配置情况,哪些模块被使用。
若cmake成功,则开始编译及安装
make -j4
编译耗时很久,树莓派4b耗时1个小时。
make install
也可以用cmake命令来编译和安装 ,上诉某个文件中有详细命令。
5.修改环境变量
我作为一个初学者,这个确实让我头疼了好多天,安装好了之后,c++代码无法include,python无法import,那么就开始修改各种环境变量吧。
sudo vim /etc/bash.bashrc
在文件尾部加入
其中目录注意自己的opencv安装在哪就写哪,确定在各个目录下能找到需要分文件,
比如 :include
import cv2 中的cv2 包,
你可以我在上面的目录中找,应该是一样的,对了我安装的是4.4.5版本.
然后动态链接库改一下,
cd /etc/ld.so.conf.d
sudo vim opencv.conf
#添加
/usr/local/lib
6.测试
#打开python shell查看是否能导入相应打的包
python
import cv2
#随便编写一个c++ helloworld程序 ,看是否能g++成功
#include
using nameplace cv2;
好了完结撒花,有什么问题请自行查阅,仅供参考,我也是初学者,555~