ubuntu22.04安装opencv4和opencv_contrib
选择OpenCV-4.5.0,下载Sources版本,并解压;
一、下载opencv和opencv_contrib
1、下载opencv
Releases - OpenCV选择OpenCV-4.5.0,下载Sources版本,并解压;
2、下载opencv_contrib
https://github.com/opencv/opencv_contrib选择右边Release-Tags,选择和opencv一样的版本;
解压到opencv主文件夹中并重命名为opencv_contrib;
二、安装依赖库
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev
sudo apt-get install libtiff-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
三、开始编译
1、opencv主目录下打开终端:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules .. \
-DWITH_CUDA=1 \
-DCUDA_ARCH_BIN=6.1 \
-DENABLE_FAST_MATH=1 \
-DCUDA_FAST_MATH=1 \
-DWITH_CUBLAS=1 \
-DOPENCV_GENERATE_PKGCONFIG=1 \
..
注意:上面的DCUDA_ARCH_BIN指定GPU算力,在NVIDIA官网查询 CUDA GPUs - Compute Capability | NVIDIA Developer,常用的30系显卡是8.6,40系显卡是8.9
2、编译安装
查一下自己电脑最多支持多少线程:
nproc
我的电脑输出是4,所以就:
make -j4
sudo make install
四、环境配置
添加路径
sudo vim /etc/ld.so.conf.d/opencv.conf
然后在打开的文件中添加如下内容:
/usr/local/lib
保存退出,之后再终端输入:
sudo ldconfig
使其保存并生效,再在终端输入:
sudo vim /etc/bash.bashrc
打开文件后在末尾输入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出,终端输入:
source /etc/bash.bashrc
五、测试
pkg-config opencv –modversion
opencv_version
不报错,且输出版本号,安装成功;
进入opencv/samples/cpp/example_cmake目录下,终端打开,依次输入:
cmake .
make
./opencv_example
正常来说,应该有摄像头窗口界面;如果没有摄像头,出现“Hello OpenCV“也测试成功
六、出现的问题及解决措施
1、fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录
原因:缺少文件,在构建的时候没有下载;
解决方式:
(1)下载文件,解压到opencv_contrib/modules/xfeatures2d/src/下:
压缩包地址:链接:百度网盘 请输入提取码 提取码:p50x
(2)将opencv-4.5.0/modules中的features2d文件夹一整个复制到opencv_contrib/modules/xfeatures2d/test中
2、error: ‘sleep_for’ is not a member of ‘std::this_thread’
打开opencv-4.5.0/modules/gapi/test/gapi_async_test.cpp,添加:
#include <thread>
3、fatal error: common.h: 没有那个文件或目录
发现opencv_contrib-4.4.0/modules/xfeatures2d/test/下的features2d文件夹是在第一次编译中报错少了一个hpp文件才加进去的,把opencv_contrib-4.4.0/modules/xfeatures2d/test/features2d/下test文件夹以外的所有东西都删掉就好了,另外,test文件夹下的test_main.cpp也要删掉,否则会报错有两个main函数
3、切记一定要先安装opencv再安装Anaconda,否则即使安装成功也无法调用,会报很多错误;如果提前安装了anaconda, 建议先把anaconda环境变量注释掉,并把anaconda文件夹移进回收站等装完再移出来(改软连接也行,但上述更无脑些)
参考:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)