Ubuntu20.04安装OpenCV3(图解亲测)

news/2024/9/8 4:07:32

1. 下载opencv与安装cmake
1.1安装cmake
终端执行下面语句,安装cmake
sudo apt-get install cmake
1.2 安装依赖环境

点击查看代码
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
1.3 下载opencv3 (opencv4下面的安装方法可能不好使了就) 下载地址:

https://opencv.org/releases/

点击Sources进行下载自己需要的版本

2. 安装
2.1 解压文件
解压后,将文件夹放自己喜欢的地方,我就放在了Downloads~下

2.2 进入到解压后的文件夹下
在opencv-3.2.0文件夹下新建build文件夹
终端运行
mkdir build
进入build文件夹下
cd build

2.3 进行cmake
在build目录下运行
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
2.4 进行编译
接下来时一个漫长的等待过程,大概需要等10分钟,不要多虑
sudo make -j8
可以使用sudo make -j 8 、sudo make -j4 、sudo make
我这里就使用sudo make 了
编译opencv3.2.0报错:

2-错误原因:缺少几个关键的宏定义
3-解决方法
在相应头文件中添加宏定义即可,如图可以看到是cap_ffmpeg_impl.hpp
opencv-3.2.0/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
编译出错问题2: `/home/minuy/download/opencv-3.2.0/modules/python/src2/cv2.cpp:730:34: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] 730 | char* str = PyString_AsString(obj);`

解决方法:
编辑 opencv-3.2.0/modules/python/src2/cv2.cpp 文件,更改第730行:

点击查看代码
bool pyopencv_to(PyObject* obj, String& value, const char* name)  
{  (void)name;  if(!obj || obj == Py_None)  return true;  char* str = (char *)PyString_AsString(obj);//这是文件的第730行,更改这行,在=后面加(char *)if(!str)  return false;  value = String(str);  return true;  
}
删除build文件夹后重新编译 再执行 `sudo make install ` 3. 配置环境 3.1 修改ld.so.conf文件 用gedit打开/etc/ld.so.conf 在文件中加上一行 /usr/loacal/lib 其中/user/loacal是opencv安装路径也就是makefile中指定的安装路

终端执行
sudo gedit /etc/ld.so.conf
输入:
include /usr/local/lib
保存退出

运行下面语句刷新库链接配置
sudo ldconfig
3.2 修改bash.bashrc文件
终端运行
sudo gedit /etc/bash.bashrc
在文件末尾加入:

点击查看代码
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
然后在命令行中输入刷新

source /etc/bash.bashrc
4.检验是否安装成功
在命令行中输入如下命令
pkg-config opencv --modversion

如图所示,出现版本号就安装成功了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

vue3.4的更新,保证你看的明明白白

defineModel 同学已经转正 defineModel 在vue3.3中还是一个实验性功能, 但是经过一个学期的努力,该同学已经转正。defineModel的简单介绍 defineModel() 返回的值是一个 ref。 它可以像其他 ref 一样被访问以及修改。 它能起到在父组件和当前变量之间的双向绑定的作用。 它的 .…

微服务架构进化论以及如何学习Spring Cloud

微服务架构进化论以及如何学习Spring Cloud一、微服务架构进化论1. 单体应用阶段所有功能模块和组件都在一个单一的代码库中构建和部署。整个应用程序作为一个整体进行开发、测试和部署。 2. 垂直应用阶段(nginx负载均衡)垂直架构是指将单体架构中的多个模块拆分为多个独立…

服务器神秘挂起:一场惊心动魄的内核探案

2024年6月17日,我们的运维团队突然收到了一连串的告警。监控大屏上,代表着不同 Sealos 可用区的绿点中,零星地闪烁起了一两个红点。 “奇怪,怎么有几台服务器突然 hang 住了?” 值班的小辉皱起了眉头。 这次故障的诡异之处在于它的随机性。并非所有节点都受到影响,而是在…

2024年6月上半月30篇大语言模型的论文推荐

大语言模型(LLMs)在近年来取得了快速发展。本文总结了2024年6月上半月发布的一些最重要的LLM论文,可以让你及时了解最新进展。 LLM进展与基准测试 1、WildBench: Benchmarking LLMs with Challenging Tasks from Real Users in the WildWildBench是一个自动评估框架,使用具…

k8s监控指标整改のthanos转VictoriaMetrics

一、问题背景 目前thanos已经稳定在线上运行了5年了,随着集群的数量越来越多,数据量也是水涨船高,大得惊人,查询时延需要5s以上。 通过对比各种开源时序数据库,选择了VictoriaMetrics,以为特定需求的用户提供最合适的解决方案。 以下是性能比较二、整体架构 跟官方推荐架…

好用的实时同步软件应该具备哪些能力?

数据同步是很多行业企业的刚性需求,如金融机构,特别是传统金融机构的数据中心,需要实现异地灾备以确保业务连续性和数据安全性。实时数据同步是实现这一目标的核心能力;IT服务提供商,这类企业通常需要为不同客户提供数据同步解决方案;全国医药连锁企业,这类企业需要对医…

2024最新idea包

蓝奏云: https://wwm.lanzouq.com/in50b22nkrhc 密码:amhh

在洛谷使用c#刷题如何提高输入输出效率

这是我目前使用的方案,有什么更优的方案欢迎大家分享 使用StreamReader和StreamWriter进行输入和输出+自己解析字符串,例如P1253 public class P1253 {public static void Main(){using (StreamReader sr = new StreamReader(Console.OpenStandardInput())){using (StreamWri…