0查看当前版本安装
1 | opencv_version |
已经装了3.49 再装个4.4共存
1安装依赖库
1 2 3 4 5 6 7 | sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" sudo apt update sudo apt- get install build-essential sudo apt- get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libopenexr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" sudo apt update sudo apt- get install python-dev- is -python3 python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-22-dev |
1 2 3 4 | $ sudo apt- get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev build-essential mlocate $ sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" $ sudo apt update $ sudo apt install libjasper1 libjasper-dev |
2下载
1 2 3 4 | mkdir ~/opencv && cd ~/opencv git clone https: //gitee.com/yxd.osc.com/opencv.git git clone https: //gitee.com/yxd.osc.com/opencv_contrib.git mkdir build && cd build |
手动官网下载 自己改版本号
https://github.com/opencv/opencv/releases/tag/3.4.9
https://github.com/opencv/opencv_contrib/releases/tag/3.4.9
3配置camke
1 2 3 4 5 | 安装cmake sudo apt- get install -y cmake-gui 打开 cmake-gui |
设置编译源码路径
设置生成build路径
选择完毕点击Configure,然后会弹出编译器选项,选择Unix Makefiles即可。
配置完毕如下图所示:
3-2 设置参数
(1)是否开启cuda 一般不用
(2)添加扩展库 注意路径 / moudles文件夹
(3)添加扩展库 中的专利模块
(4)world库 不要
自己的的选择。不要选择,选择了其他分库就很难找到了,相当于所有的库全部变成一个world库,有些工程是单独依赖某一个库合并之后找不到了
(5)选择编译版本
Release
(6)是否编译python可用的版本(默认选了,但是可不用,python单独安装)
为了加速编译,这里去掉了。

(7) 不要java(默认有 根据需求)
(7)设置 make install 路径
多版本共存的重点
(8)其他选择 加速编译可去掉
1 2 3 4 | -DBUILD_DOCS=OFF \ -DBUILD_EXAMPLES=OFF \ -DBUILD_TESTS=OFF \ -DBUILD_PERF_TESTS=OFF \ |
开始生成
4开始编译
在build文件夹下面
1 | sudo make -j6 |
开始安装
1 | sudo make install |
5注册opencv到系统环境
查看当前本版
1 | opencv_version |
多版本OpenCV切换
自己前面设置的opencv4.4 make install 位置
1 | /home/dongdong/v1_Sorfware/V31_opencv/opencv44/install |
打开~/.bashrc
1 | sudo gedit ~/.bashrc |
在文件末尾增加以下内容
1 2 | export PKG_CONFIG_PATH=/home/dongdong/v1_Sorfware/V31_opencv/opencv44/install/lib/pkgconfig export LD_LIBRARY_PATH=/home/dongdong/v1_Sorfware/V31_opencv/opencv44/install/lib |
参考
1 2 | export PKG_CONFIG_PATH= '/usr/local/opencv4/lib/pkgconfig:$PKG_CONFIG_PATH' export LD_LIBRARY_PATH= '/usr/local/opencv4/lib' |
更新~/.bashrc
1 | source ~/.bashrc |
如果输出3.4.1
,就表明配置成功。
如果想使用之前的版本,在~/.bashrc
中注释掉增加的内容,然后source ~/.bashrc
即可。
camkelist使用
如果只有一个版本的OpenCV,在CMakeList.txt中使用以下语句即可。
1 | FIND_PACKAGE(OpenCV REQUIRED) |
在OpenCV编译好后,所在目录中会生成OpenCVConfig.cmake文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。
如果存在多版本OpenCV时,需要找到所需版本对应的OpenCVConfig.cmake文件,并将其路径添加到工程的CMakeLists.txt中。
示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | cmake_minimum_required(VERSION 2.8.3) project(vins) #指定opencv路径版本 set (OpenCV_DIR "/home/dongdong/v1_Sorfware/V31_opencv/opencv44/opencv/build" ) #自动根据OpenCV_DIR查找库 find_package(OpenCV REQUIRED) #输出opencv信息 message(WARNING "OpenCV_VERSION: ${OpenCV_VERSION}" ) message(STATUS "OpenCV library status:" ) message(STATUS " config: ${OpenCV_DIR}" ) message(STATUS " version: ${OpenCV_VERSION}" ) message(STATUS " libraries: ${OpenCV_LIBS}" ) message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}" ) |
编译时输出
报错处理
报错1 一些关于opencv报错
1 | #include<opencv2/imgproc/types_c.h> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
2018-02-06 433 接收