ubuntu22.04在opencv4的基础上安装opencv3

安装opencv4

首先在ubuntu22.04上安装opencv4,可以参考之前的博客ubuntu22.04安装opencv4和opencv_contrib-CSDN博客

安装opencv3

由于有使用opencv3的需求,所以需要继续安装opencv3 ;

安装编译

这里安装的版本是opencv3.4.5,大致安装思路不变,就是要更改安装的默认路径,之前安装opencv4的时候默认安装路径是/usr/local,现在更改为/home/user/opencv3;

复制代码
cd opencv-3.4.5
mkdir build
cd build
# 注意 这里把路径改成了 /home/user/opencv3
cmake -D CMAKE_INSTALL_PREFIX=/home/user/opencv3 -D CMAKE_BUILD_TYPE="Rlease" -D OPENCV_GENERATE_PKGCONFIG=ON ..
make -j8  
sudo make install

环境配置

修改lib:

复制代码
sudo gedit /etc/ld.so.conf.d/opencv.conf
#  在文件末尾添加下面语句
/home/user/opencv3/lib
# 执行生效
sudo ldconfig

配置环境

复制代码
# 编辑~/.bashrc
vim ~/.bashrc

#添加如下内容
# opencv3.4.5
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/home/user/opencv3/lib/pkgconfig
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./home/user/opencv3/lib

#保存退出
source ~/.bashrc

测试

复制代码
pkg-config opencv --modversion
opencv_version

opencv多版本的切换

默认调用opencv4,每次调用opencv3的时候都要修改CMakeLists.txt:

将find_package(OpenCV REQUIRED)修改为find_package(OpenCV 3.4.5),并添加/修改opencv3安装路径;

复制代码
set(OpenCV_DIR /home/user/opencv3/share/OpenCV) # 增加/修改为opencv3安装路径
  find_package(OpenCV 3.4.5)
  # find_package(OpenCV REQUIRED)
  include_directories(${OpenCV_INCLUDE_DIRS})
  target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBS})

参考博客:

OpenCV 安装 与多版本切换 (linux)_linux opencv2和opencv4兼容-CSDN博客

相关推荐
格林威29 分钟前
C++ 工业视觉实战:Bayer 图转 RGB 的 3 种核心算法(邻域平均、双线性、OpenCV 源码级优化)
开发语言·c++·人工智能·opencv·算法·计算机视觉·工业相机
ken223233 分钟前
在ubuntu终端里, 怎样让历史不要记录本条命令:禁止记录包含密码之类的命令
linux·运维·ubuntu
i建模1 小时前
Ubuntu系统中安装NVIDIA驱动
linux·运维·ubuntu
张3蜂1 小时前
Ubuntu Linux 与 Ubuntu with Rosetta:深入解析两者的区别与适用场景
linux·运维·ubuntu
廿一夏1 小时前
搭建Ubuntu 虚拟机与部署docker
linux·ubuntu·docker
千里马-horse1 小时前
ubuntu 电脑安装protoc-gen-grpc-kotlin
linux·运维·ubuntu
柯儿的天空1 小时前
【OpenClaw 全面解析:从零到精通】第 004 篇:OpenClaw 在 Linux/Ubuntu 上的安装与部署实战
linux·人工智能·ubuntu·elasticsearch·知识图谱
开开心心就好1 小时前
免费无广告的礼金记账本,安卓应用
java·前端·ubuntu·edge·pdf·负载均衡·语音识别
格林威2 小时前
工业相机图像高速存储(C++版):RAID 0 NVMe SSD 阵列方法,附堡盟相机实战代码!
开发语言·c++·人工智能·数码相机·opencv·计算机视觉·视觉检测
艾莉丝努力练剑3 小时前
【Linux信号】Linux进程信号(上):信号产生方式和闹钟
linux·运维·服务器·c++·人工智能·ubuntu·云原生