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

文章目录

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

这篇文章里有原因介绍

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

bash 复制代码
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

在其后面加上:

bash 复制代码
-DENABLE_PRECOMPILED_HEADERS=OFF

最终就是:

bash 复制代码
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 里最顶端添加:

cpp 复制代码
#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行,与参考博客中有所不同,也给大家参考一下。


总结

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

bash 复制代码
pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs   opencv

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

相关推荐
Extraovo9 分钟前
[C++]学习《DirectX12 3D 游戏开发实战》 第八天 利用 Direct3D 绘制几何体(续)
c++·笔记·学习
我是哈哈hh31 分钟前
Linux环境基础开发工具的使用_yum源_vim_Git控制器
linux·运维·c++·git·vim·1024程序员节
木向33 分钟前
leetcode25:k个一组链表反转
数据结构·c++·算法·leetcode·链表
猫猫不是喵喵.34 分钟前
【Linux】Linux入门实操——vim、目录结构、远程登录、重启注销
linux·运维·服务器
little redcap37 分钟前
xftp连接中不成功 + sudo vim 修改sshd_config不成功的解决方法
linux·编辑器·vim
木向38 分钟前
leetcode19:删除链表倒数第n个节点
数据结构·c++·算法·leetcode·链表
这个菠萝好咸1 小时前
内核源码+vscode+bear+clang实现函数任意跳转,无缝跳转,无缝阅读,无缝开发
linux·c语言·驱动开发·后端·arm单片机
patrickpdx1 小时前
【图论】图的C++实现代码
c++·图论
奶味少女酱~1 小时前
常用的c++新特性-->day03
开发语言·c++
待磨的钝刨1 小时前
四期书生大模型实战营(【基础岛】- 第1关 | 书生·浦语大模型开源开放体系)
linux·服务器·git·python