Ubuntu20.04 安装 OpenCV3 过程中遇到的各种问题及其解决办法

文章目录

  • 前言
  • 开始安装OpenCV3
  • 问题1:ICV: Failed to download ICV package: ippicv_linux_20151201.tgz.
    • 1.1 具体步骤
  • 问题2:/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
  • 问题3:error: 'CODEC_FLAG_GLOBAL_HEADER' was not declared in this scope
  • 问题4:make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56...
  • 总结


前言

本文介绍在Ubuntu20.04下安装OpenCV3遇到的各种问题及其解决办法。光安装就耗费了我一下午,所以在这里总结一下,希望能帮助到大家。


开始安装OpenCV3

安装主要参考链接


问题1:ICV: Failed to download ICV package: ippicv_linux_20151201.tgz.

安装终止的时候往上翻翻能看到这个提示,主要就是下载这个压缩包,可是CSDN上的链接大多数失效或者要钱(很tm烦),所幸后来找到了一个可用的链接,是一个gitee仓库,里面也包含的其他的包。
opencv_install_resource

在这里插入图片描述

1.1 具体步骤

  1. 下载ippicv_linux_20151201.tgz
  2. 将下载好的压缩包放在: opencv3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e 这个路径底下,直接替换掉就可以。
  3. 重新cmake

问题2:/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory

这篇文章里有原因介绍

我主要参考的那边博客里面原本的安装语句是:

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

在其后面加上:

-DENABLE_PRECOMPILED_HEADERS=OFF

最终就是:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -DENABLE_PRECOMPILED_HEADERS=OFF ..

问题3:error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope

参考的这篇博客
具体做法就是在opencv的目录下在/modules/videoio/src/cap_ffmpeg_impl.hpp 里最顶端添加:

#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020

问题4:make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56…

这个问题是在make的时候出现的,99%的时候出现了,受不了了。

参考这篇博客

不过这篇博客中cv2.cpp文件所在路径和我有所不同,也放在这里给大家参考一下:
在这里插入图片描述
主要做法就是找个这个文件,可以用gedit打开,然后搜索关键词PyString_AsString,我的是在730行,与参考博客中有所不同,也给大家参考一下。
在这里插入图片描述


总结

我解决完这四个问题也就安装成功了,大家可以通过下面三条指令来检查是否安装成功:

pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs   opencv

另外,可能大家还遇到了可能其他问题,可以参考这篇博客,也列举了一些可能遇到的问题,大家也可以参考一下,希望能帮助大家,节省安装配置环境的时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571849.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux指令大全,第二篇(超详细版)

目录 9.1 链接文件的命令 10.1. 用户和权限 11.1 文件压缩和解压命令 12.1 文件操作命令补充 13.1 Vim编辑器的使用 14.1 Linux开关机命令 15.1 Shell Linux 程序设计&#xff08;未完持续更新~&#xff09; 16.1 以上运行效果图如下 9.1 链接文件的命令 9.1.1 …

codesys通过moudbus TCP连接西门子1214c,西门子做客户端

思路在codesys中发送数据到西门子&#xff0c;西门子原封不动的将数据传回。 1.首先配置codesys; 我设置了500个&#xff0c;但是好像发不这么多&#xff0c;只能120多个。因为什么来我忘了。但是这里不影响。 2.配置映射&#xff1a; 3.写代码 PROGRAM PLC_PRG VARarySendDa…

方案分享 | 嵌入式指纹方案

随着智能设备的持续发展&#xff0c;指纹识别技术成为了现在智能终端市场和移动支付市场中占有率最高的生物识别技术。凭借高识别率、短耗时等优势&#xff0c;被广泛地运用在智能门锁、智能手机、智能家居等设备上。 上海航芯在2015年进入指纹识别应用领域&#xff0c;自研高性…

python第三次作业

1、求一个十进制的数值的二进制的0、1的个数 def count_0_1_in_binary(decimal_num):binary_str bin(decimal_num)[2:]count_0 binary_str.count(0)count_1 binary_str.count(1)return count_0, count_1decimal_number int(input("十进制数&#xff1a;")) zero…

DVB-S系统仿真学习

DVB-S系统用于卫星电视信号传输&#xff0c;发送端框图如下所示 扰码 实际数字通信中&#xff0c;载荷数据的码元会出现长连0或长连1的情况&#xff0c;不利于接收端提取时钟信号&#xff0c;同时会使得数据流中含有大量的低频分量&#xff0c;使得QPSK调制器的相位长时间不变…

VGG16神经网络搭建

一、定义提取特征网络结构 将要实现的神经网络参数存放在列表中&#xff0c;方便使用。 数字代表卷积核的个数&#xff0c;字符代表池化层的结构 cfgs {"vgg11": [64, M, 128, M, 256, 256, M, 512, 512, M, 512, 512, M],VGG13: [64, 64, M, 128, 128, M, 256, …

LIS、LCS算法模型

文章目录 1.LCS算法模型2.LIS算法模型 1.LCS算法模型 LCS问题就是给定两个序列A和B&#xff0c;求他们最长的公共子序列。 在求解时&#xff0c;我们会设dp[i][j]表示为A[1 ~ i]序列和B[1 ~ j]序列中&#xff08;不规定结尾&#xff09;的最长子序列的长度。 if(a[i]b[i]) dp…

MFC标签设计工具 图片控件上,移动鼠标显示图片控件内的鼠标xy的水平和垂直辅助线要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 源码

需求&#xff1a;要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 我生成标签时&#xff0c;需要对齐和 调文字字体大小。这工具微调 能快速知道位置 和字体大小。 标签设计(点击图片&#xff0c;上下左右箭头移动 或-调字体) 已经够用了&#xff0c;滚动条还没完…

静态代理,jdk动态代理,cglib动态代理

文章目录 静态代理动态代理jdk动态代理JDK生成的动态代理类大概源码cglib动态代理 代理模式就是用代理对象代替真实对象去完成相应的操作&#xff0c;并且能够在操作执行的前后对操作进行增强处理。 静态代理 mybatis使用的就是静态代理&#xff0c;相比动态代理&#xff0c;…

Mamba: Linear-Time Sequence Modeling with Selective State Spaces(论文笔记)

What can I say? 2024年我还能说什么&#xff1f; Mamba out! 曼巴出来了&#xff01; 原文链接&#xff1a; [2312.00752] Mamba: Linear-Time Sequence Modeling with Selective State Spaces (arxiv.org) 原文笔记&#xff1a; What&#xff1a; Mamba: Linear-Time …

STL的基本概念

一、STL的诞生 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西 C的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升 面向对象的三大特性(简单理解) 封装&#xff1a;把属性和行为抽象出来作为一个整体来实现事和物 继承&#xff1a;子类继承父类&a…

Gui guider使用自定义字体总结

在实际开发中&#xff0c;我们通常是使用自定义字体。 在 LVGL 中&#xff0c;用户需要使用自定义的字库&#xff0c;其实现方法可分为两类&#xff1a; ① 通过 C 语言数组&#xff08;内部读取&#xff09;&#xff1b; ② 通过文件系统读取字库&#xff08;外部读取&#…