在Home下创建opencv文件夹,并把opencv_contrib-3.4.1.zip和opencv-3.4.1.zip放进去
在创建的opencv文件夹路径下打开超级终端然后输入以下命令,来解压压缩包,并把解压后的opencv_contrib-3.4.1放进opencv-3.4.1文件加内部:
unzip opencv-3.4.1.zip
unzip opencv_contrib-3.4.1.zip
mv opencv_contrib-3.4.1 ~/opencv/opencv-3.4.1
cd opencv-3.4.1/
新建一个名为build的文件夹用来存放cmake编译时产生的临时文件:
mkdir build
cd build
生成makefile文件(注意最后俩点也带上):
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=/home/nvidia/opencv/opencv-3.4.1/opencv_contrib-3.4.1/modules ..
* CMAKE_BUILD_TYPE是编译方式
* CMAKE_INSTALL_PREFIX是安装目录
* OPENCV_EXTRA_MODULES_PATH是加载额外模块
* OPENCV_ENABLE_NONFREE 是需要得到contrib库里面的专利许可指令,不然一些库没法使用
* INSTALL_PYTHON_EXAMPLES是安装官方python例程
* BUILD_EXAMPLES是编译例程(这两个可以不加,不加编译稍微快一点点,想要C语言的例程的话,在最后一行前加参数INSTALL_C_EXAMPLES=ON \)
开始编译(大概6-7小时):
sudo make
第一次报错:大概在百分之八九十时候会出现openc_contrib 提示缺少boostdesc_bgm.i文件而出错
给需要手动添加的文件夹改名为“OpenCV-queshao-wenjian”,如果改好了就不用改了。
在超级终端依次输入:
sudo cp -i /home/nvidia/opencv/OpenCV-queshao-wenjian/*.i /home/nvidia/opencv/opencv-3.4.1/opencv_contrib-3.4.1/modules/xfeatures2d/src/
回到build文件路径下的超级终端输入:
sudo make
第二次报错:百分之九十多时候会出现,fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录的错误标志
在超级终端依次输入:
cd /home/nvidia/opencv/opencv-3.4.1/opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2
sudo cp -r xfeatures2d xfeatures2d.hpp /home/nvidia/opencv/opencv-3.4.1/modules/stitching/include/opencv2/
回到build文件路径下的超级终端输入:
sudo make
解决完上面情况出现下面的结果说明make成功了。
安装:
sudo make install
更新动态链接库:
sudo ldconfig