Ubuntu搭建OpenCV环境(C++)

Ubuntu搭建OpenCV环境(C++)

文章目录

一、环境介绍

虚拟机 :VMware 15.5

OS : Ubuntu 20.04

opencv 版本 : 4.9.0

操作系统安装本文不再赘述,重点介绍opencv如何搭建,并提供验证方式。

二、依赖安装

bash 复制代码
sudo apt-get install build-essential 
bash 复制代码
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
bash 复制代码
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

三、安装包下载

1.Opencv安装包下载,在这里面选择你想下载的opencv版本。这里以Opencv-4.9.0为例,跳转到GitHub后clone即可。

2.opencv_contrib下载(注意这里要与你上面下载的opencv版本一致)

3.两个都下载好以后,把opencv_contrib放到解压后opencv文件夹里面。

四、opencv安装

bash 复制代码
cd opencv
mkdir build
cd build

sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4 ..

sudo make -j4
sudo make install

配置lib

bash 复制代码
sudo vim /etc/ld.so.conf
添加一行
/usr/local/lib
保存退出
sudo ldconfig
bash 复制代码
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版本信息,如果报错not found尝试以下方案:

bash 复制代码
cd /usr/local/lib
sudo mkdir pkgconfig          // 如已有pkgconfig目录跳过该条
cd pkgconfig
sudo vim opencv.pc
添加以下信息
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The opencv library
Version:4.2.0
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core
保存退出、最后添加环境变量
export  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

五、测试

opencv/samples/cpp/example_cmake目录下:

bash 复制代码
cmake .
make
./opencv_example

这时通过调用opencv库来打开摄像头,如VMware中打开摄像头没有图像,只有OpenCV字体标识是因为虚拟机未连接到物理机的摄像头设备,或物理机本身没有摄像头硬件设备,与OpenCV无关,即环境搭建成功。

相关推荐
青花瓷12 小时前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
老四啊laosi12 小时前
[C++进阶] 24. 哈希表封装unordered_map && unordered_set
c++·哈希表·封装·unordered_map·unordered_set
妙为12 小时前
银河麒麟V4下编译Qt5.12.12源码
c++·qt·国产化·osg3.6.5·osgearth3.2·银河麒麟v4
一叶知秋yyds15 小时前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
史迪仔011216 小时前
[QML] QML IMage图像处理
开发语言·前端·javascript·c++·qt
会编程的土豆17 小时前
【数据结构与算法】再次全面了解LCS底层
开发语言·数据结构·c++·算法
低频电磁之道17 小时前
解决 Windows C++ DLL 导出类不可见的编译错误
c++·windows
木心术117 小时前
设备管理网管系统:详细下一步行动指南
前端·人工智能·opencv
君义_noip18 小时前
信息学奥赛一本通 4150:【GESP2509七级】⾦币收集 | 洛谷 P14078 [GESP202509 七级] 金币收集
c++·算法·gesp·信息学奥赛·csp-s
Ricky_Theseus18 小时前
静态链接与动态链接
c++