从源码编译安装OpenCV

ubuntu16.04环境轻松安装和应用opencv4.9.0(基于源码编译) 位置:https://codeload.github.com/opencv/opencv/zip/refs/tags/4.9.0 [跟随至新的 URL]正在连接 codeload.github.com (codeload.github.com)|20.205.xxx.xxx|:443... 已连接。正在解析主机 codeload.github.com (codeload.github.com)... 20.205.xxx.xxx。已发出 HTTP 请求,正在等待回应... 200 OK。 阅读详情
AI摘要

本文介绍如何从源码编译安装OpenCV及其贡献模块,并解决安装过程中可能遇到的问题,如缺少GTK+2.x支持导致的错误。

下载OpenCV源码

OpenCV的release页面

Releases · opencv/opencv

选择相应的版本,下载源码

OpenCV3.4.14

下载opencv_contrib源码

找到与opencv版本一致的tag

https://github.com/opencv/opencv_contrib/tags

opencv_contrib
从源码安装OpenCV
下载OpenCV源码
OpenCV的release页面
Releases · opencv/opencv
选择相应的版本,下载源码

下载opencv_contrib源码
找到与opencv版本一致的tag
https://github.com/opencv/opencv_contrib/tags

安装依赖

sudo apt-get install libgtk2.0-dev pkg-config

编译安装opencv

  1. 新建目录
mkdir ~/opencv_build && cd ~/opencv_build

把下载好的opencv和opencv_contrib放到opencv_build目录下。

添加代理到编译过程中的下载链接

  1. 对下列文件进行修改
opencv_contrib-3.4.14/modules/xfeatures2d/cmake/download_boostdesc.cmake
opencv_contrib-3.4.14/modules/xfeatures2d/cmake/download_vgg.cmake
opencv_contrib-3.4.14/modules/face/CMakeLists.txt

在这些文件中的链接前加上https://ghproxy.com/ 。这是一种代理下载的方式,加快下载速度。

加好的效果类似下图:

  1. 编译

在opencv文件夹中新建build目录

cd opencv-3.4.14
mkdir build
cd build

在build目录下执行下面的cmake命令。需要配置OPENCV_EXTRA_MODULES_PATH 参数。这个参数是opencv_contrib/modules的路径。

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=/home/kevin/opencv_build/opencv_contrib-3.4.14/modules \
    -D BUILD_EXAMPLES=ON ..
make -j8
sudo make install

编好的库会安装到/usr/local/下。

Troubleshooting

  1. 执行程序时突然报错
[planner_server-6] [WARN 2022-3-13 20:43:46.149226360] [planner_server]: CleanPath plugin failed to plan.   
"OpenCV(3.4.14) /home/ubuntu/opencv_build/opencv-3.4.14/modules/highgui/src/window.cpp:658: error: (-2:Unspecified 
  error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on   
  Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage' 
 

处理措施:
按照提示安装libgtk2.0-dev and pkg-config

sudo apt-get install libgtk2.0-dev pkg-config

然后按照上面的步骤重新安装一下opencv
参考:https://www.daimajiaoliu.com/daima/4858c8b6c900404

  1. 出现Failed to load module "canberra-gtk-module"错误
sudo apt-get install libcanberra-gtk-module

参考:
https://opencv.org/
https://www.jianshu.com/p/3c15a1ad3ec6

关注公众号《首飞》回复“机器人”获取精心推荐的C/C++,Python,Docker,Qt,ROS1/2等机器人行业常用技术资料。

树莓派3和4B安装OpenCV教程(编译源码,一次成功)提供安装好OpenCV的系统镜像 目录 【准备工作】 【正式安装】 一、安装OpenCV所需要的依赖工具和一些图像视频库。 二、编译OpenCV源码 【系统镜像补充】 【准备工作】 1.这里我用的是官方Raspbian-buster-full系统,首先要更换源为清华源,避免后面下载gtk2.0失败。 换源方法:https://blog.youkuaiyun.com/zqxdsy/article/details/10257423... 阅读详情

相关推荐

Ubuntu源码编译安装opencv4.x

源码下载&编译安装 源码地址opencv/opencv: Open Source Computer Vision Library 编译安装 (1). 必要依赖安装 (2). 源码编译安装 % 进入解压后源码目录 mkdir build cd build cmake .. make -j4 make install 问题&解决方法 pkg-config --cflags --o...

纵然身处果壳之中,也仍自以为无限宇宙之王 1615

opencv 源码编译+环境配置+项目配置+项目练习+出现的问题及解决方案

这里要注意有的库文件能直接下载,有的是文本要另存为指定的文件名,也要注意后缀问题。有可能我们的编译器在我们编写代码的时候给我们提示,我们抱着尝试的心理或者没注意就使用了那些宏,而导致我们的程序出错,很简单,出现此类问题,什么内存问题,基本都是代码有问题,对于自己陌生的参数多找找问题所在。2 注意运行自己新建的项目的时候是X86 还是X64,我们下的opencv版本都是针对特定的windows和VS版本的,如果没注意,可能导致明明告诉了项目头文件的地址,可是它就是找不到,这个问题让我找了几个小时。

Dsxrrwe的博客 2637

编译安装OpenCV详细指南

OpenCV是一个广泛使用的开源计算机视觉和图像处理库,提供了丰富的功能和工具,适用于各种计算机视觉应用。本文将为您提供编译和安装OpenCV的详细步骤,以及相应的源代码示例。在开始编译OpenCV之前,您需要安装一些必要的依赖项。解压下载的源代码包,并进入解压后的目录。现在,您可以编写一个简单的程序来测试您的OpenCV安装是否成功。这将检查您的系统,并生成相应的构建文件。)下载最新的源代码包。选择适合您的需求的版本,然后将其下载到您的计算机上。您已成功编译和安装OpenCV,并验证了安装的正确性。

EneDev的博客 319

OpenCV+OpenCV-Contrib源码编译

OpenCV是一款免费开源的计算机视觉算法库,在实际使用的时候,需要移植到不同的平台。在这记录下源码编译的过程。提示:以下是本篇文章正文内容,下面案例可供参考记录下window10 下编译OpenCV+opencv_contrib 的过程,也给有需要的朋友一些经验。

excelNo1的博客 6579

自定义安装和编译OpenCV库的详细步骤

这些步骤包括下载OpenCV源代码,安装CMake,配置和生成项目,构建和安装OpenCV,以及测试安装是否成功。通过自定义安装和编译OpenCV库,您可以更好地满足您的计算机视觉需求,并利用OpenCV提供的丰富功能和算法来处理图像和视频。虽然OpenCV提供了预编译的二进制库供下载和使用,但有时我们可能需要自定义安装和编译OpenCV库,以便根据特定需求进行配置和优化。在本文中,我将为您提供自定义安装和编译OpenCV库的详细步骤,并提供相应的源代码。在构建环境中,找到生成的构建脚本,并执行构建操作。

MwgmPhilosophy的博客 298

【黑马点评优化】3-压测秒杀接口,算出性能塌陷区,之后用sentinel实现秒杀接口限流

【黑马点评优化】3-压测秒杀接口,算出性能塌陷区,之后用sentinel实现秒杀接口限流

m0_52031708的博客 3571

【OpenCV】从源码编译安装OpenCV

本地编译软件并不能自动下载依赖环境,因此需要手动安装,执行以下命令即可 创建编译目录 为了方便,我们在home目录下创建一个opencv的目录,其下包含build,source,contrib三个目录,其中source作为opencv的源码目录,contrib作为附加模块的目录,build为编译生成的二进制文件的存放目录,执行以下指令 获取源代码 opencv:https://github.com/opencv/opencv opencv_contrib:https://github.com/o

jackson61的博客 827

Halcon阈值算子 -- 局部阈值之dyn_threshold

Halcon阈值算子 – dyn_threshold HALCON有很多阈值算子,接下来将一一介绍。本文先介绍dyn_threshold。 以下介绍主要参考HALCON帮助文档,并加上自己的体会。如有纰漏,欢迎留言指出 理论介绍 dyn_threshold算子的函数签名如下: dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 输入参数有: OrigImage:待处理图像 ThresholdIm

m0_47015717的博客 5386

opencv—python源码编译安装_Ubuntu下源码安装Opencv完全指南

前言Opencv大家很熟悉了,经典的图像处理库,Opencv在Windows下安装是很简单的,只需要配置DLL即可。但是在Linux下,因为Linux各种发行版本多种多样,所以我们只有自己通过编译源码的方式来安装Opencv了,源码安装会自动根据你当前的Ubuntu系统中安装的组件来编译Opencv源码,所以说你编译好的这份Opencv库是独一无二的,移到别的地方就不行了哦。这里讲解如何在Ubun...

weixin_36244175的博客 1436

Dify Rerank 模型配置全流程解析:从报错定位到代码实现

Dify Rerank 模型配置全流程解析:从报错定位到代码实现

engchina的专栏 4472

sm2国密加密算法js实现(真实可用)

sm2国密加密算法js实现加密后内容引入文件js实现sm2加密 加密后内容 可自行验证是否是你需要的sm2加密算法 私钥:BF1F907B4E0487F798DC80AFD7BC2A6201E8514233002272EA3BE2FC6F797843 公钥:前缀04+x坐标+y坐标 042DBA45E7B03394F603CADAFCDDEC854D3E01A4E9C52CD799B85B1A14BDB970137AE58BA553D79F058604DC1CD4B77DE5408BA3308E767584

gusijin的博客 1万+

linux源码编译安装OpenCV

为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上。先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以类比安装。

Expressing Youself Using Code 9831

车机破解避坑指南:为什么你的CarPlay盒子不识别?从USB设备ID解析兼容性问题

本文深入解析车机USB设备兼容性问题,特别是CarPlay盒子不识别的原因,从硬件ID到识别机制全面剖析。通过ADB工具和root权限操作,提供详细的破解方案和兼容性测试结果,帮助用户解决车机与第三方设备的连接问题。

weixin_29175469的博客 606

Ubuntu编译源码安装OpenCV

OPENCV_GENERATE_PKGCONFIG=ON 表示自动生成pkg-config文件,如果没有添加这一条指令,则需要手动添加。-j8表示使用多线程编译,数字8表示8线程,这个数字不应超过CPU的核心数。CMAKE_INSTALL_PREFIX=/usr/local 指定OpenCV安装路径,这里是/usr/local。使用以下命令解压OpenCV源码,其中-d表示指定解压路径,我这里解压到用户目录下。文件,则需要手动创建该文件,文件内容与下面一致,需要将。文件,输入以下命令即可查看文件内容。

BUBUBUBUBUBUBUB的博客 641

Uniapp返回上一页并刷新:亲测有效的 goBack 实现技巧!

这个技巧在实际开发中非常常用,特别适合表单提交后返回列表刷新这类场景。比起依赖onShow或复杂的vuex状态同步,这种方式更直接、好维护,也不容易出 bug。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1843

i.MX6ULL驱动开发 | 31 - Linux内核网络设备驱动框架

net_device结构体在内核中指代一个网络设备,定义在,是一个非常大的结构体,包含网络设备的属性描述和操作接口,其中一些关键的成员如下。Linux在轮询处理机制和中断处理机制的基础上,提出了一种高效的网络处理技术NAPI。NAPI的核心思想是不全部采用中断来读取网络数据,而是采用中断来唤醒数据接收服务程序,在接收服务程序中采用poll的方法来轮询处理数据。提高短数据包的接收效率,减少中断处理的时间。...

Mculover666的博客(嵌入式) 1104

Windows环境下OpenCV及OpenCV-contrib通过CMake的源码编译安装

windows环境下源码编译opencv及opencv_contrib

phantom_knight的博客 6371

Newton & Nvidia 开源 GPU 加速机器人仿真器入门教程(一)

Newton 是一个 GPU 加速、可扩展和可微分的物理仿真引擎,专为机器人、研究和高级仿真工作流而设计。Newton 基于 NVIDIA Warp 并集成了 MuJoCo Warp,为用户和开发人员提供了高性能仿真、现代 Python API 和灵活的架构。

机器人控制与仿真应用 1483

Ubuntu20.04 由源码编译安装opencv3.2 OpenCV

在安装并编译 OpenCV 3.2.0 版本时,出现的编译错误主要是由于 OpenCV 代码中使用的 FFmpeg 库宏定义与最新版 FFmpeg 库中的定义不一致所致。具体来说,原有的宏和在较新的 FFmpeg 版本中已被重命名或废弃,从而导致编译失败。这些错误表明存在 API 不兼容的问题,即 OpenCV 的旧代码与新版本 FFmpeg 的接口不匹配。未声明在旧版本的 FFmpeg 中,用于设置编码器标志,指示编码器在输出文件中生成全局头部信息,而不是每个输出帧中都包含头部信息。

m0_73640344的博客 2752

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【Ubuntu版】源码编译安装opencv(一)

一、参考资料 在ubuntu下安装opencv4.1.0详细步骤 二、写在前面 博主以安装 opencv 4.1.0为例; opencv官方教程; 需要的环境: GCC 4.4.x or later CMake 2.8.7 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) pkg-config Python 2.6 or later and Numpy 1.5 or later with developer packag

IT菜鸟 7139

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ubuntu20.04 上 opencv4 源码编译安装

下载: 1、opencv 4.9 2、opencv_contrilb 4.xsudo apt install -y cmake make sudo apt install -y build-essential sudo apt install -y libgtk2.0-dev sudo apt install -y libavcodec-dev sudo apt install -y libavformat-dev sudo apt install -y libjpeg-dev sudo apt insta

MAX的专栏 1073

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

mac 编译源码安装 opencv

mac 编译源码安装 opencv

qq_30014525的博客 1993

opencv—python源码编译安装_Linux源码编译安装OpenCV4(Ubuntu等)-阿里云开发者社区...

1.1 安装依赖必须要安装的依赖,通过命令安装:sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev如果需要其他的功能,还需安装一些,命令:sudo apt-get install python-dev python-...

weixin_39647458的博客 315

linux 编译安装opencv,linux源码编译安装OpenCV

为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上。先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以类比安装。此文针对,有一点Linux常识(会使用终端)的读者。源代码准备如果不想在安装过程中,一步步的下载、编译、安装,可以先一次性下载完需要用到的源代码。X264: ftp://ftp.videol...

weixin_28886649的博客 907

Opencv + Opencv_contrib的源码编译安装以及C++调用和cmakelist编写

注意第一行cmake的版本要求是小于3.26即可,大于的话会报错。应该就在:/usr/local/lib/pkgconfig下。加载camke的时候会报一个警告,没事不影响。这里可以去看一下opencv4.pc文件。来找到opencv4.pc文件。重新source后就可以查看了。这里需要等很久,要有耐心。ps: 实际使用的例子。

crazty的博客 1545
上一篇: 在vscode中维护代码片段
下一篇: ROS2开发环境搭建
首飞爱玩机器人
博客等级 码龄14年 6990粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

首飞爱玩机器人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值