当前位置: 首页 > news >正文

ubuntu20.04 opencv4.2 安装笔记

参考:

https://docs.opencv.org/4.x/d7/d9f/tutorial_linux_install.html

Build with opencv_contrib

# 1. Install minimal prerequisites, libgtk2.0-dev pkg-config 用来显示图像
sudo apt update && sudo apt install -y cmake g++ wget unzip libgtk2.0-dev pkg-config# 2. Download and unpack sources
# cd 到自己要放 opencv 的路径下,比如我们的是:/home/h/programs/cv
cd /home/h/programs/cv
sudo wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip --no-check-certificate
sudo wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip --no-check-certificate
unzip opencv.zip && unzip opencv_contrib.zip# 3. Create build directory and switch into it
mkdir build && cd build# 4. Configure, build 目录内
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.2.0/modules ../opencv-4.2.0# 5. build 目录内
make -j 8# 删除压缩包
cd .. && sudo rm opencv.zip opencv_contrib.zip

编译时候报错:opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such file or directory
opencv_contrib-4.2.0/modules/xfeatures2d/src/boostdesc.cpp:654:20: fatal error: boostdesc_bgm.i: 没有那个文件或目录
解决:网络问题,添加代理,然后重复 4,5 步
参考:https://www.cnblogs.com/arxive/p/11778731.html

Using OpenCV with gcc and CMake

参考:https://docs.opencv.org/4.x/db/df5/tutorial_linux_gcc_cmake.html

// DisplayImage.cpp
#include <stdio.h>
#include <opencv2/opencv.hpp>using namespace cv;
int main(int argc, char** argv )
{if ( argc != 2 ){printf("usage: DisplayImage.out <Image_Path>\n");return -1;}Mat image;image = imread( argv[1], IMREAD_COLOR );if ( !image.data ){printf("No image data \n");return -1;}namedWindow("Display Image", WINDOW_AUTOSIZE );imshow("Display Image", image);waitKey(0);return 0;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)
set(OpenCV_DIR /home/h/programs/cv/build)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

Create build directory and switch into it

mkdir build && cd build

目录:

.
├── build
├── CMakeLists.txt
└── DisplayImage.cpp

cmake ..

报错: By not providing “FindOpenCV.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “OpenCV”, but
CMake did not find one.
Could not find a package configuration file provided by “OpenCV” with any
of the following names:
OpenCVConfig.cmake
opencv-config.cmake
Add the installation prefix of “OpenCV” to CMAKE_PREFIX_PATH or set
“OpenCV_DIR” to a directory containing one of the above files. If “OpenCV”
provides a separate development package or SDK, be sure it has been
installed.

解决:

方式1:

# CMakeLists.txt:
set(OpenCV_DIR /home/h/programs/cv/build)

方式2:

cmake -DOpenCV_DIR=/home/h/programs/cv/build  ..

然后:

# 在build 文件夹下
make
./DisplayImage lena.jpg

报错:

Gtk-Message: 23:48:54.655: Failed to load module “canberra-gtk-module”

解决:

sudo apt-get install libcanberra-gtk-module

其他:

为python3构建opencv:https://stackoverflow.com/a/39409570

相关文章:

ubuntu20.04 opencv4.2 安装笔记

参考&#xff1a; https://docs.opencv.org/4.x/d7/d9f/tutorial_linux_install.html Build with opencv_contrib # 1. Install minimal prerequisites&#xff0c; libgtk2.0-dev pkg-config 用来显示图像 sudo apt update && sudo apt install -y cmake g wget un…...

ubuntu安装nginx以及php的部署

目录 1.安装依赖包 2.安装nginx 3.编译nginx 4.启动nginx 5.访问nginx 6.增加源地址 7.安装php 8.配置php-fpm 9.修改权限 10.配置nginx里的php 11.启动php-fpm 12.配置php文件以及权限 13.登陆查看 1.安装依赖包 apt-get install gcc apt-get install libpcre3 l…...

IntelliJ IDEA 2021/2022关闭双击shift全局搜索

我这里演示的是修改&#xff0c;删除是右键的时候选择Remove就好了 IDEA左上角 File-->Settings 找到Navigate -->Search Everywhere &#xff0c;右键添加快捷键。 OK --> Apply应用...

HTML 元素中的name 属性

name 属性是 HTML 元素中常用的属性之一。它用于指定表单元素的名称&#xff0c;以便在提交表单时将其值与对应的键关联起来。 每个表单元素&#xff08;例如 <input>、<select> 和 <textarea>&#xff09;都可以具有一个 name 属性&#xff0c;该属性为元素…...

快速上手React:从概述到组件与事件处理

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

K8S系列文章之 离线安装自动化工具Ansible

参考 文档 离线安装 Ansible - DevOps - dbaselife 一、Ansible简介 Ansible是一款开源的IT配置管理工具&#xff0c;常被IT界的小伙伴们用于自动化的场景&#xff0c;多用在服务部署、配置管理方面。配置文件采用最常见的yaml格式&#xff0c;学习起来也是比较容易&#xff…...

mysql8.0.3集群搭建

下载mysql安装包&#xff1a; https://dev.mysql.com/downloads/mysql/5.7.html#downloads 准备环境 1、准备三台服务器并设置hosts 192.168.236.143 mysql1 192.168.236.144 mysql2 192.168.236.145 mysql32、设置免密登陆 #生成秘钥 ssh-keygen -t rsa #一直按Enter即可…...

vue中router路由的原理?两种路由模式如何实现?(vue2) -(上)

平时我们编写路由时&#xff0c;通常直接下载插件使用&#xff0c;在main.js文件中引入直接通过引入vue-router中的Router通过Vue.use使用以后定义一个routeMap数组&#xff0c;里边是我们编写路由的地方&#xff0c;最后通过实例化一个 Router实例 将routes我们定义的routeMao…...

消息队列(3) -封装数据库的操作

前言 上一篇博客我们写了, 关于交换机, 队列,绑定, 写入数据库的一些建库建表的操作 这一篇博客中,我们将建库建表操作,封装一下实现层一个类来供上层服务的调用 , 并在写完该类之后, 测试代码是否完整 实现封装 在写完上述的接口类 与 xml 后, 我们想要 创建一个类 ,来调用…...

PostgreSQL中根据时间段范围查询数据,如19:29:10到20:29:10范围内的数据,排除年月日

数据格式如下 问题描述 我的SQL语句条件是 WHERE (TO_CHAR(cti.binder_gen_time, YYYY-MM-DD HH:mm:ss) > 19:29:10 AND TO_CHAR(cti.binder_gen_time, YYYY-MM-DD HH:mm:ss) < 20:29:10)为什么我数据的时间是2023-07-20 17:58:29也能被查出来&#xff1f; 问题解决…...

【二分+贪心】CF1665 C

Problem - C - Codeforces 题意&#xff1a; 思路&#xff1a; 一开始想太简单wa6了 只想到先感染大的分量&#xff0c;然后最后把最大的分量剩下的染色 但是可能会有别的分量更大&#xff08;因为最后给最大的染色之后可能不再是最大的&#xff09; 可以用堆维护&#xf…...

【Wamp】安装 | 局域网内设备访问

安装教程&#xff1a; https://wampserver.site/article/1.html 下载 https://www.wampserver.com/en/ 安装路径上不能有中文 安装好之后图标呈绿色 放入网页文件 将网页文件放置于wamp文件夹的www子文件夹 例如&#xff1a;\Wamp\program\www 修改http端口 WAMP服务器…...

【golang】类型推断和变量重声明

类型推断是一种编程语言在编译期自动解释表达式类型的能力。 1.Go语言的类型推断可以带来哪些好处&#xff1f; 在写代码时&#xff0c;我们通过使用Go语言的类型推断会节省敲击次数&#xff0c;而节省下来的键盘敲击次数几乎可以忽略不记。但它真正的好处&#xff0c;往往会…...

“算法详解”系列第3卷贪心算法和动态规划出版

“算法详解”系列图书共有4卷&#xff0c;目前1到3卷已经出版。最新出版的是第3卷—贪心算法和动态规划。 算法详解 卷3 贪心算法和动态规划 “算法详解”系列图书共有4卷&#xff0c;本书是第3卷—贪心算法和动态规划。其中贪心算法主要包括调度、最小生成树、集群、哈夫曼编…...

CSS前端开发指南:创造精美的用户界面

简介&#xff1a; 《CSS前端开发指南&#xff1a;创造精美的用户界面》是一本旨在帮助读者掌握CSS技术&#xff0c;实现令人惊叹的前端用户界面的实用指南。无论您是初学者还是有经验的开发者&#xff0c;本书都将为您提供全面的知识和实用技巧&#xff0c;帮助您创建引人注目…...

代数学与理论物理中常见的群

代数学与理论物理中常见的群 代数学与理论物理中常见的群 四阶群 六阶群 对称群 二维转动群 三维转动群 三维正交群 群 O3群...

解析xml文件,获取需要的数据并写入txt文件中

_ 话不多说&#xff01;直接上代码&#xff01;_ 1、XmlUtil.java xml解析工具类 public class XmlUtil {private static String dicName "";private static String dicValue "";// 用于存储需要的数据private static List<Map<String, Str…...

JavaScript基础 第三天

1.for循环 2.数组的基本使用和操作 3.数组排序 一.for循环 ① 语法&#xff1a;把声明起始值&#xff0c;循环条件&#xff0c;变量值写到一起&#xff0c;让人一目了然 for(变量起始值;终止条件;变量变化量) {// 循环体 }举例&#xff1a; for (let i 0; i < 100; i)…...

2.Redis部署到Windows服务器

1.下载安装包 Redis官网没有提供Windows的安装包&#xff0c;可以去gitHub或者网上去下载Redis的Windows安装包。 2.Redis部署到服务器 将Redis整个文件夹放到服务器的指令目录&#xff0c;然后进行修改Redis的配置文件 redis.windows.conf&#xff0c;修改里面的配置项 1.b…...

【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

PumpClaw:为AI智能体构建去中心化收入基础设施的完整指南

1. 项目概述&#xff1a;为AI智能体构建自主收入基础设施在区块链和人工智能的交汇点上&#xff0c;一个核心的挑战日益凸显&#xff1a;自主运行的AI智能体如何像人类一样&#xff0c;拥有可持续的、无需许可的收入来源&#xff1f;传统的商业模式依赖于中心化的支付网关、繁琐…...

从Cortex-M到Cortex-A:内存屏障(DMB/DSB/ISB)的使用差异与迁移心得

从Cortex-M到Cortex-A&#xff1a;内存屏障的思维升级与实践指南 当工程师从单片机开发转向Linux驱动或Android系统开发时&#xff0c;往往会遇到一个令人困惑的现象&#xff1a;同样的内存屏障指令&#xff0c;在Cortex-M上运行良好的代码&#xff0c;移植到Cortex-A平台后却出…...

Qwen3-32B镜像配置优化:提升响应速度与使用体验

Qwen3-32B镜像配置优化&#xff1a;提升响应速度与使用体验 1. 为什么需要优化Qwen3-32B镜像配置 Qwen3-32B作为一款320亿参数的大型语言模型&#xff0c;在推理能力、多语言支持和复杂任务处理方面表现出色。然而&#xff0c;在实际部署和使用过程中&#xff0c;许多用户会遇…...

终极指南:如何用CefFlashBrowser轻松玩转经典Flash游戏和网页内容

终极指南&#xff1a;如何用CefFlashBrowser轻松玩转经典Flash游戏和网页内容 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser 还在为无法访问那些充满回忆的Flash游戏而烦恼吗&#xff1f…...

Python基础:字典的键值对结构与增删改查操作

Python基础&#xff1a;字典的键值对结构与增删改查操作&#x1f4da; 本章学习目标&#xff1a;深入理解字典的键值对结构与增删改查操作的核心概念与实践方法&#xff0c;掌握关键技术要点&#xff0c;了解实际应用场景与最佳实践。本文属于《Python从入门到精通教程》Python…...

开源光标主题合集:从原理到实战,打造个性化桌面交互体验

1. 项目概述&#xff1a;打造你的专属桌面光标库如果你和我一样&#xff0c;是个对桌面美学有点“偏执”的玩家&#xff0c;那么系统自带的那几套万年不变的光标主题&#xff0c;恐怕早就看腻了。无论是Windows那套经典的Aero&#xff0c;还是Linux发行版里预装的Adwaita&#…...

记录使用C#编程中遇到的一个小bug

近期在写程序时使用NumericUpDown进行一个整数的输入。如果用户输入小数NumericUpDown会自动四舍五入成整数显示在界面&#xff0c;但是实际的value还是用户输入的实际值。我在处理这个数据时&#xff0c;使用了Convert.ToInt32()对输入的值进行了转换。出现了一个神奇的问题&a…...

AgenticHub:macOS原生AI工具资源管理器,高效管理MCP服务器与Agent技能

1. 项目概述&#xff1a;一个为AI开发者打造的macOS中心化工具如果你和我一样&#xff0c;每天都在和Claude、Cursor这类AI助手打交道&#xff0c;并且热衷于探索各种MCP服务器和Agent技能来扩展它们的能力&#xff0c;那你一定体会过那种“信息过载”的烦恼。官方MCP注册表里有…...

SiFive HiFive Premier P550 RISC-V开发主板解析

1. HiFive Premier P550主板概览SiFive HiFive Premier P550是一款采用mini-DTX规格&#xff08;203170mm&#xff09;的开发主板&#xff0c;搭载了基于RISC-V架构的ESWIN EIC7700X四核SoC。这款主板定位为高性能RISC-V开发平台&#xff0c;特别适合AI边缘计算、嵌入式系统开发…...

Stable Yogi Leather-Dress-Collection 模型文件管理与版本控制实践

Stable Yogi Leather-Dress-Collection 模型文件管理与版本控制实践 你是不是也遇到过这种情况&#xff1a;好不容易下载了一堆模型文件&#xff0c;有主模型、VAE、LoRA&#xff0c;还有各种配置文件&#xff0c;全都堆在下载文件夹里。过两天想用某个特定版本的模型&#xf…...