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

从零开始:OpenCV 图像处理快速入门教程

文章大纲

第1章 OpenCV 概述

1.1 OpenCV的模块与功能 
1.2 OpenCV的发展
1.3 OpenCV的应用

第2章 基本数据类型

2.1 cv::Vec类
2.2 cv::Point类
2.3 cv::Rng类
2.4 cv::Size类
2.5 cv::Rect类
2.6 cv::RotatedRect类
2.7 cv::Mat 类型
2.8 矩阵的基本运算
2.8.1 加法运算
2.8.2 减法运算
2.8.3 点乘运算
2.8.4 点除运算
2.8.5 乘法运算
2.8.6 其他运算

第3章 图像的基本操作

3.1 图像的读取与显示
3.1.1 图像的读取
3.1.3 图像显示

3.2 视频的加载及摄像头调取

3.3 数据存储
3.3.1 图像保存
3.3.1 视频保存
3.4 像素操作
3.4.1 像素读写
3.4.2 像素算术运算
3.4.3 像素的统计
3.5 感兴趣区域(ROI)
3.6 图像创建与复制
3.7 图像裁剪与拼接
3.8 查表格(LUT)

第4章 颜色空间与通道

4.1 图像色彩空间
4.2 伪彩色图像处理
4.3 图像通道拆分与合并
4.4 图像通道混合

第5章 图像几何变换

5.1 缩放变换
5.2 平移变换
5.3 旋转变换
5.4 镜像变换
5.4 仿射变换
5.5 透视变换
5.6 极坐标变换

第6章 图像算术运算

6.1 图像的加法与减法运算
6.2 图像的乘法与除法运算
6.3 图像的加权加法运算
6.4 图像的位运算
6.5 图像的积分运算
6.6 图像的归一化处理
6.7 图像掩膜mask

第7章 图像直方图处理

7.1 图像直方图的计算
7.2 图像直方图的绘制
7.3 关于直方图的操作
7.4 直方图归一化
7.5 直方图比较
7.6 直方图均衡化
7.7 直方图匹配
7.8 直方图反向投影

第8章 图像灰度变化

8.1 灰度变化概述
8.2 灰度变换的作用
8.3 灰度变换的方法
8.4 灰度化
8.5 对比度
8.6 灰度的线性变换
8.7 分段线性灰度变换
8.8 对数变换和反对数变换
8.9 幂律变换

第9章 图像平滑

9.1 均值滤波器
9.2 中值滤波器
9.3 高斯滤波器
9.4 双边滤波器
9.5 自定义滤波器

第9章 形态学处理

9.1 腐蚀
9.2 膨胀
9.3 开运算
9.4 闭运算
9.5 形态学运算
9.6 梯度运算
9.7 顶帽运算
9.8 黑帽运算

第10章 图像边缘检测

10.1 Sobel算子
10.2 Scharr算子
10.3 生成边缘检测滤波器
10.4 Laplacian算子
10.5 Canny算法
11.6 Roberts算子
11.7 Prewitt算子边缘检测
11.8 LoG边缘检测算子

第11章 图像分割

11.1 区域生长与分离
11.1.1 区域生长
11.1.2 区域分离与聚合
11.2 超像素区域分割
11.3 分水岭算法
11.4 GraphCut图割算法
11.5 GrabCut图割算法
11.6 均值漂移算法
11.7 运动图像分割
11.7.1 帧间差分法
11.7.2 背景差分法
11.7.3 密集光流法

其他章节持续更新中。。。。。。
相关技术内容也会同步到机器视觉智能解决方案

版权说明

编写该技术文档的目的为了分享给需要的人,本文写作过程中学习和参考了大量出版物和网络文章,凡直接引用的都已注明出处,未直接引用的确实无法逐一列出,在此一并感谢。本人承诺不做抄袭或洗稿。

相关文章:

从零开始:OpenCV 图像处理快速入门教程

文章大纲 第1章 OpenCV 概述 1.1 OpenCV的模块与功能  1.2 OpenCV的发展 1.3 OpenCV的应用 第2章 基本数据类型 2.1 cv::Vec类 2.2 cv::Point类 2.3 cv::Rng类 2.4 cv::Size类 2.5 cv:&…...

springboot简单应用

快速开发Springboot项目实现简单的增删改查,前期需要准备:idea与postman安装 Maven,MySQL(8),JDK(21) 目录 前言 springboot 使用3.0版本,JDK使用21,MySQL使用8版本 开发环境IDEA使用2024版本 …...

【DeepSeek】DeepSeek小模型蒸馏与本地部署深度解析DeepSeek小模型蒸馏与本地部署深度解析

一、引言与背景 在人工智能领域,大型语言模型(LLM)如DeepSeek以其卓越的自然语言理解和生成能力,推动了众多应用场景的发展。然而,大型模型的高昂计算和存储成本,以及潜在的数据隐私风险,限制了…...

C#项目引用VB.NET 类库项目,生成一个EXE,这是什么原理

C#项目引用VB.NET 类库项目,生成一个EXE,这是什么原理 在C#项目中引用VB.NET类库项目并生成一个EXE文件,主要基于.NET框架的通用性以及编译原理。以下是详细的原理分析: 1. .NET框架的通用性 公共语言运行时(CLR&…...

qt使用MQTT协议连接阿里云demo

qt使用Mqtt协议连接阿里云。 在配置好qt关于MQTT的环境之后,主要就是根据MQTT的连接参数进行连接即可。 环境配置推荐链接QT编译并部署QtMqtt相关环境跑测demo【超详细教程】_mqtt qt开发教程-CSDN博客 连接核心代码,主要就是根据阿里云的MQTT相关参数进行配置实现连…...

HTML中的图片标签详解及路径使用【学术投稿-第五届环境资源与能源工程国际学术会议(ICEREE 2025)】

官网:www.iceree.org 会议时间:2025年2月21-23日 会议地点:中国-昆明 简介 第五届环境资源与能源工程国际学术会议(ICEREE 2025)将于2025年2月21日至23日在中国昆明隆重举行。主要围绕“能源工程和能源技术”、“环…...

【低功耗 Power 学习专栏 -- Power domian 和 power rail】

文章目录 power rail(followpin) 和 Power domain1. Power Domain2. Power Rail3. Followpin4. Power Stripe5. IR Drop芯片中电源管理设计 举例 power rail(followpin) 和 Power domain followpin 指两部分,一个就是 STD cell 上下的 VDD, VSS。同时,f…...

PythonStyle MVC 开发框架

在 Python 中,MVC(Model - View - Controller,模型 - 视图 - 控制器)是一种常见的软件设计模式,它将应用程序分为三个主要部分,各自承担不同的职责,以提高代码的可维护性、可扩展性和可测试性。…...

RTOS基础(TODO)

(TODO) 读完FreeRTOS内核源码,需要多久? 有哪些情况下是RTOS满足不了需求,必须得上嵌入式Linux系统的? 如何用树莓派 Pico 学习 RTOS? 树莓派 Pico 使用 RP2040 微控制器,基于 AR…...

八、Spring Boot 日志详解

目录 一、日志的用途 二、日志使用 2.1 打印日志 2.1.1 在程序中获取日志对象 2.1.2 使用日志对象打印日志 2.2、日志框架介绍 2.2.1 门面模式(外观模式) 2.2.2 门面模式的实现 2.2.3 SLF4J 框架介绍 2.3 日志格式的说明 2.4 日志级别 2.4.1 日志级别的分类 2.4.2…...

Java实战经验分享

1. 项目优化与性能提升 面试问题: 聊聊你印象最深刻的项目,或者做了哪些优化 你在项目中如何解决缓存穿透问题? 缓存穿透是我们做缓存优化时最常遇到的问题,特别是当查询的对象在数据库中不存在时,缓存层和数据库都会…...

前端控制器模式

前端控制器模式 概述 前端控制器模式(Front Controller Pattern)是一种设计模式,它将应用程序中的所有用户请求统一交由一个控制器处理。这种模式在MVC(Model-View-Controller)架构中尤为常见,它能够简化…...

Linux之安装docker

一、检查版本和内核是否合格 Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。 检查版本 cat /etc/redhat-release检查内核 uname -r二、Docker的安装 1、自动安装 Docker官方和国内daocloud都提供了一键安装的脚本&#x…...

BUUCTF_XSS-Lab

xss XSS(Cross - Site Scripting)即跨站脚本攻击,是一种常见的 Web 安全漏洞。攻击者通过在目标网站注入恶意脚本(通常是 JavaScript),当其他用户访问该网站时,这些恶意脚本会在用户的浏览器中执…...

springBoot使用

1.什么是SpringBoot SpringBoot是由Pivotal团队提供的一套开源框架,可以简化spring应用的创建及部署。SpringBoot是伴随Spring4.0的时候发布的一个框架。SpringBoot用来简化Spring应用的开发,约定大于配置,去繁从简。 从本质上来说&#xff…...

DS图(中)(19)

文章目录 前言一、图的遍历广度优先遍历深度优先遍历 二、最小生成树Kruskal算法Prim算法两种方法对比 总结 前言 承上启下,我们来学习下图的中篇!!! 一、图的遍历 图的遍历指的是遍历图中的顶点,主要有 广度优先遍历 …...

Vue Dom截图插件,截图转Base64 html2canvas

安装插件 npm install html2canvas --save插件使用 <template><div style"padding: 10px;"><div ref"imageTofile" class"box">发生什么事了</div><button click"toImage" style"margin: 10px;&quo…...

Unity3D仿星露谷物语开发小结1

1、Cinemachine的作用及使用方法 &#xff08;1&#xff09;作用 控制Camera的模块&#xff0c;实现摄像机的复杂控制&#xff0c;比如角色的跟随&#xff0c;限制Camera的区域 &#xff08;2&#xff09;使用方法 在已有Main Camera的情况下&#xff0c; 通过【GameObject -&…...

graylog初体验

最近graylog比较火&#xff0c;部署了一个来测试下&#xff0c;看下后续能不能代替目前占用资源比较多的elk&#xff0c;目前未对graylog性能进行深入测试&#xff0c;只是简单体验了下&#xff0c;graylog的UI比较简陋&#xff0c;但是在报警以及权限方面优于ELK&#xff0c;整…...

15.PPT:文静-云计算行业发展【29】

目录 NO123​ NO345​ NO6​ NO78 NO9/10/11/12​ NO123 设计→幻灯片大小→自定义幻灯片大小→ 全屏显示&#xff08;16&#xff1a;9&#xff09;→最大化 NO345 SmartArt 主题颜色2/6/9&#xff1a;形状样式&#xff1a;样式 加大行距加宽间距 NO6 NO78 设计→设置背景…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...