【数字图像处理】_笔记
第一章 概述
1.1 什么是数字图像?
图像分为两大类:模拟图像与数字图像
- 模拟图像:通过某种物理(光、电)的强弱变化来记录图像上各个点的亮度信息
连续:从空间上和数值上是不间断的
举例:胶卷照片、纸质照片、肉眼看见的图像
- 数字图像:模拟图像经过采样和量化后得到的图像
数字化意味着数字图像只是真实图像的近似,在数字化过程有信息损失(是为了方便计算机处理才做的采样和量化)
举例:数码相机储存的图像
像素值通常表示灰度、颜色、不透明度等
图像的采样和量化是数字图像处理的两个基本步骤,主要用于将模拟图像(如自然世界中的连续图像)转换为数字图像(即计算机可处理的图像)
一、采样(Sampling)
定义:
采样是指在图像的空间域中对连续图像进行空间上的离散化,也就是在图像中选取一些特定的位置(点)来代表整个图像。
通俗理解:
就像你拿相机拍照,感光元件上每个像素点都在采集一个位置的信息,最终得到一张由很多像素点组成的图像。举例说明:
一幅图像的分辨率是 1920×1080,这表示图像在水平方向被采样了1920次,垂直方向采样了1080次。
如果采样率低,图像就会显得模糊、马赛克严重。
二、量化(Quantization)
定义:
量化是指将每个采样点的像素值(通常是灰度值或颜色值)从连续的模拟值转化为有限的离散数值等级。通俗理解:
现实世界中的亮度、颜色变化是连续的,但计算机只能表示有限数量的数字。因此必须把这些连续值四舍五入到最近的离散值。举例说明:
灰度图像中,如果使用8位来表示灰度值,就有 2^8 = 256个灰度等级。
如果量化等级太少(如只用2位=4个灰度级),图像就会出现色带(伪影),失去细节。
三、采样 vs 量化 对比
项目 采样 量化 涉及的维度 空间维度(横纵坐标) 灰度或颜色值 作用 选取图像中的像素点 将每个像素值转化为整数级别 结果 影响图像的分辨率 影响图像的灰度层次或色彩精度 拍照时,“你拍了多少个点”是采样,“你对每个点的颜色记录得有多精细”是量化。
1.2数字图像处理的基本流程
-
图像获取
通过传感器(如相机、扫描仪、MRI设备)将现实世界的模拟图像转换为数字信号(采样+量化)。 -
预处理
增强:调整对比度、降噪、锐化(如直方图均衡化、滤波)。 校正:消除几何畸变、色彩偏差(如镜头畸变修正)。 -
特征提取
检测边缘、纹理、形状或特定目标(如SIFT特征、霍夫变换)。 -
分析与识别
分类(如人脸识别)、分割(如医学图像中的肿瘤区域)、测量(如细胞计数)。 -
输出与可视化
生成处理后的图像、数据报告或控制指令(如自动驾驶中的障碍物标记)。
1.3 数字图像处理的发展趋势
Ø 从低分辨率向高分辨率发展
Ø 从二维(2D)向三维(3D)发展
Ø 从静止图像向动态图像发展
Ø 从单态图像向多态图像发展
Ø 从图像处理向图像理解发展
第二章 基础知识
2.1 图像的数字化
- 采样 →M*N矩阵
- 量化→连续函数f(x,y)被划分为K个空间
- 采样及量化越精细(M,N,K越大),越逼近连续图像

2.2 图像的表示
2.3 图像模式及彩色模型
图像模式:
二值图像:指图像中的每个像素点只有 两种可能的取值(通常为 0 和 1),分别对应 黑色 和 白色(或其他两种颜色的组合)。
灰度图像:灰度图像中每个像素点的取值表示 亮度(明暗程度),通常范围为 0(黑色)到 255(白色),共 256 级灰度(8 位二进制数。 灰度图像可以保留亮度信息:能体现图像的明暗层次,但不包含颜色信息。
彩色图像:彩色图像通过不同颜色通道的组合来表示像素的颜色。每个像素通常占用 3 字节(RGB 三通道各 1 字节),存储和处理成本较高。
常用的彩色模型:
彩色模型(颜色空间)用于以数学方式描述颜色。
1. RGB(Red, Green, Blue)
-
原理:基于光的三原色叠加(加色模型)。
-
表示:
-
三维坐标
(R, G, B)
,每通道范围通常为0~255
(8位)。 -
黑色:
(0, 0, 0)
;白色:(255, 255, 255)
。、
-
-
特点:
-
直接对应显示器/传感器的物理输出。
-
颜色与亮度耦合,调整单一通道会影响亮度和色相。
- 等比例混合时(如 R=G=B)呈现灰度色(如 R=G=B=128 为灰色)。
-
2.HSI 彩色模型(Hue-Saturation-Intensity)
原理
- 基于人类视觉感知:将颜色分解为三个直观的分量:
- 色调(Hue, H):颜色的种类(如红、绿、蓝),取值范围通常为 0°-360°(对应色轮圆周)。
- 饱和度(Saturation, S):颜色的纯度(鲜艳程度),取值范围 0%-100%(0% 为灰度色,100% 为纯色)。
- 亮度(Intensity, I):颜色的明暗程度,取值范围 0%-100%(0% 为黑色,100% 为白色)。
亮度定义 三通道平均值(Intensity,平均亮度)
特点
- 解耦颜色属性:H、S、I 三个分量相互独立,便于单独调整(如调节亮度不影响色调)。
- 与 RGB 可相互转换:通过数学公式实现转换,但计算复杂度较高。
3.HSV 彩色模型(Hue-Saturation-Value)
-
RGB:基于光的三原色叠加,适用于显示器存储。
-
HSV:基于人眼感知,分离色相(H)、饱和度(S)、明度(V),更适合颜色调整和图像分析。
原理
- 类似 HSI 的变体:
- 色调(H):与 HSI 的 H 含义相同(0°-360°)。
- 饱和度(S):与 HSI 的 S 含义相同(0%-100%)。
- 明度(Value, V):对应颜色的 最大亮度(与 HSI 的亮度 I 略有差异),取值范围 0%-100%(0% 为黑色,100% 为纯色最亮状态)
亮度定义 | 三通道最大值(Value,最大亮度 |
4.YCrCb(Luminance-Chrominance)
-
原理:分离亮度(Y)和色度(Cr, Cb),基于人眼对亮度更敏感的特性。
-
表示:
-
Y:亮度(类似灰度)。
-
Cr:红色分量与亮度的差值。
-
Cb:蓝色分量与亮度的差值。
-
-
特点:
-
色度信息可压缩(如JPEG压缩时降低Cr/Cb分辨率)。
-
兼容黑白显示(仅需Y通道)
-
5.Lab 彩色模型(CIE L*a*b*)
原理
- 设备无关的感知模型:由国际照明委员会(CIE)定义,基于人类视觉的 均匀颜色空间,理论上能覆盖人眼可见的所有颜色。
- 三个分量:
- L(亮度):取值范围 0-100(0 为黑色,100 为白色)。
- a(红绿轴):取值范围 -128-127(负值为绿色,正值为红色)。
- b(蓝黄轴):取值范围 -128-127(负值为蓝色,正值为黄色)。
特点
- 最接近人类视觉:颜色空间均匀分布,任意两点间的欧氏距离对应人眼感知的颜色差异(ΔE 值)。
- 色域最广:包含 RGB 和 CMYK 无法表示的颜色(如某些鲜艳的青色)
✅ 总结对比表
模型 | 构成 | 应用领域 | 优点 |
---|---|---|---|
RGB | R, G, B | 显示设备,原始图像输入 | 硬件友好,处理简单 |
HSI | Hue, Sat, Int | 图像识别、分析 | 直观反映人类感知 |
HSV/HSB | Hue, Sat, Value | 图像编辑、调色板 | 易于调色,图形用户界面常用 |
YCrCb | Y, Cr, Cb | 视频压缩、传输 | 分离亮度和色度,便于压缩 |
Lab | L, a, b | 图像增强、颜色差异检测 | 感知均匀、设备无关 |
2.4 像素之间的关系
相关文章:

【数字图像处理】_笔记
第一章 概述 1.1 什么是数字图像? 图像分为两大类:模拟图像与数字图像 模拟图像:通过某种物理(光、电)的强弱变化来记录图像上各个点的亮度信息 连续:从空间上和数值上是不间断的 举例&…...

从0开始学习R语言--Day10--时间序列分析数据
在数据分析中,我们经常会看到带有时间属性的数据,比如股价波动,各种商品销售数据,网站的网络用户活跃度等。一般来说,根据需求我们会分为两种,分析历史数据的特点和预测未来时间段的数据。 移动平均 移动平…...

基于开源链动2+1模式AI智能名片S2B2C商城小程序的产品驱动型增长策略研究
摘要:在数字化经济时代,产品驱动型增长(Product-Led Growth, PLG)已成为企业突破流量瓶颈、实现用户裂变的核心战略。本文以“开源链动21模式AI智能名片S2B2C商城小程序”(以下简称“链动AI-S2B2C系统”)为…...
每日算法 -【Swift 算法】反转整数的陷阱与解法:Swift 中的 32 位整数处理技巧
反转整数的陷阱与解法:Swift 中的 32 位整数处理技巧 在面试题和算法练习中,整数反转是一道非常经典的题目。乍一看很简单,但一旦加入“不能使用 64 位整数”和“不能溢出 32 位整数范围”这两个限制,问题就立刻变得有挑战性。本…...

使用 OpenCV 实现“随机镜面墙”——多镜片密铺的哈哈镜效果
1. 引言 “哈哈镜”是一种典型的图像变形效果,通过局部镜面反射产生扭曲的视觉趣味。在计算机视觉和图像处理领域,这类效果不仅有趣,还能用于艺术创作、交互装置、视觉特效等场景。 传统的“哈哈镜”往往是针对整张图像做某种镜像或扭曲变换…...

鸿蒙仓颉开发语言实战教程:页面跳转和传参
前两天分别实现了商城应用的首页和商品详情页面,今天要分享新的内容,就是这两个页面之间的相互跳转和传递参数。 首先我们需要两个页面。如果你的项目中还没有第二个页面,可以右键cangjie文件夹新建仓颉文件: 新建的文件里面没什…...
如何在Vue中实现延迟刷新列表:以Element UI的el-switch为例
如何在Vue中实现延迟刷新列表:以Element UI的el-switch为例 在开发过程中,我们经常需要根据用户操作或接口响应结果来更新页面数据。本文将以Element UI中的el-switch组件为例,介绍如何在状态切换后延迟1秒钟再调用刷新列表的方法࿰…...

最新Spring Security实战教程(十六)微服务间安全通信 - JWT令牌传递与校验机制
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…...
MDM在智能健身设备管理中的技术应用分析
近年来,随着智能硬件的普及和健身行业的数字化转型,越来越多健身房引入了Android系统的智能健身设备,如智能动感单车、智能跑步机、体测仪等。这些设备通过内嵌的安卓终端,实现了健身内容播放、用户交互、远程课程等功能ÿ…...
OSPF ABR汇总路由
一、OSPF ABR汇总配置(手工汇总) 📌 场景示例 假设ABR连接区域0和区域1,区域1内存在多个子网(如10.1.0.0/24、10.1.1.0/24),需将其手动汇总为10.0.0.0/8并通告至区域0。 🔧 配置命…...

【五】Spring Cloud微服务开发:解决版本冲突全攻略
Spring Cloud微服务开发:解决版本冲突全攻略 目录 Spring Cloud微服务开发:解决版本冲突全攻略 概述 一、Spring Boot 二、Spring Cloud 三、Spring Cloud Alibaba 总结 概述 spring cloud微服务项目开发过程中经常遇到程序包版本冲突的问题&…...

Spring Boot微服务架构(二):开发调试常见中文问题
Spring Boot开发调试常见中文问题及解决方案 一、环境配置类问题 端口冲突 表现:启动时报错"Address already in use"解决:修改application.properties中的server.port或终止占用端口的进程 数据库连接失败 表现:启动时报错"…...

Linux基础IO----动态库与静态库
什么是库? 库是由一些.o文件打包在一起而形成的可执行程序的半成品。 如何理解这句话呢? 首先,一个程序在运行前需要进行预处理、编译、汇编、链接这几步。 预处理: 完成头文件展开、去注释、宏替换、条件编译等,最终…...
LeetCode百题刷004(哈希表优化两数和问题)
遇到的问题都有解决的方案,希望我的博客可以为你提供一些帮助 一、哈希策略优化两数和问题 题目地址:1. 两数之和 - 力扣(LeetCode)https://leetcode.cn/problems/two-sum/description/ 思路分析: 题目要求在一个整型…...
解析Java String.getBytes()编码与new String()解码的字符集转换机制
引言 在Java开发中,字符编码与解码是处理文本数据的基础操作,但稍有不慎就会导致乱码问题。理解字符串在内存中的存储方式以及如何正确使用编码转换方法,是保证跨平台、多语言兼容性的关键。本文将通过编码与解码的核心方法、常见问题场景及…...
从万有引力到深度学习,认识模型思维
从万有引力到深度学习,认识模型思维 引言 从牛顿发现万有引力定律到现代深度学习的崛起,“模型思维”始终是人类理解世界、解决问题的核心工具。它不仅是科学研究的基石,更是技术创新的底层逻辑。本文将从科学史、技术应用、认知效率等角度…...
2022 年 9 月青少年软编等考 C 语言八级真题解析
目录 T1. 道路思路分析T2. 控制公司思路分析T3. 发现它,抓住它思路分析T4. 青蛙的约会思路分析T1. 道路 题目链接:SOJ D1216 N N N 个以 1 ∼ N 1 \sim N 1∼N 标号的城市通过单向的道路相连,每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示…...

FPGA通信之VGA与HDMI
文章目录 VGA基本概念:水平扫描:垂直扫描: 时序如下:端口设计疑问为什么需要输出那么多端口不输出时钟怎么保证电子枪移动速度符合时序VGA转HDMI 仿真电路图代码总结:VGA看野火电子教程 HDMITMDS传输原理为什么使用TMD…...

Leetcode百题斩-二叉树
二叉树作为经典面试系列,那么当然要来看看。总计14道题,包含大量的简单题,说明这确实是个比较基础的专题。快速过快速过。 先构造一个二叉树数据结构。 public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode…...
修改 K8S Service 资源类型 NodePort 的端口范围
在 Kubernetes 中,Service 类型为 NodePort 时,默认分配的端口范围为 30000~32767。如果你希望使用自定义端口(如 8080、8888 等),就需要修改 kube-apiserver 的默认配置。 本文将详细介绍如何修改 Kubernetes 中 Nod…...

ACM Latex模板:合并添加作者和单位
目录: 1.ACM会议论文Latex模板,逐个添加作者和单位: 1)Latex: 2)效果: 2. ACM会议论文Latex模板,合并添加作者和单位: 1)Latex: 2&#x…...
爬虫IP代理技术深度解析:场景、选型与实战应用
目录 一、代理IP的核心技术架构 二、典型应用场景技术解析 场景1:电商价格监控系统 场景2:社交媒体舆情分析 场景3:金融数据采集 三、代理IP选型方法论 1. 性能评估矩阵 2. 成本优化模型 3. 风险管控体系 四、未来技术演进方向 五、…...

将MCP(ModelContextProtocol)与Semantic Kernel集成(调用github)
文章目录 将MCP(ModelContextProtocol)与Semantic Kernel集成(调用github)一、模型上下文协议(MCP)简介1.1 简介1.2 示例 二、集成步骤2.1 安装环境依赖2.2 构建语义内核(Kernel)2.3…...

游戏引擎学习第311天:支持手动排序
仓库: https://gitee.com/mrxiao_com/2d_game_7(已满) 新仓库: https://gitee.com/mrxiao_com/2d_game_8 回顾并为今天的内容定下基调 我们接下来要继续完成之前开始的工作,上周五开始的部分内容,虽然当时对最终效果还不太确定,但现在主要任…...

LambdaQueryWrapper、MybatisPlus提供的基本接口方法、增删改查常用的接口方法、自定义 SQL
DAY26.2 Java核心基础 MybatisPlus提供的基本接口方法 分页查询 导入依赖springboot整合Mybatis-plus <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version&g…...

深度学习---可视化
模型可视化 深度学习模型可视化是理解、调试和优化模型的关键技术,涉及模型结构、参数、层输出、数据流动、训练过程等多维度分析。 一、可视化的核心作用 模型理解 解析复杂模型的网络架构(如CNN的层级连接、Transformer的注意力机制)。揭…...
军事大模型及其应用分析
一、军事大模型概述 在军事智能化浪潮下,大模型技术加速从理论迈向实战,成为重塑军事决策体系的核心力量,推动军事体系数字工程进入新阶段。 美国依托成熟的商业科技生态,率先推进大模型军事应用。Palantir 公司的 AIP 军事智能…...
c++算法题
题目 字符串的替换操作 replace(String &s, String &t, String &v) 是指: 若t是s的子串,则用串v替换串t在串s中的所有出现;若t不是s的子串,则串s不变。例如,若串s为“aabbabcbaabaaacbab”,串…...
云原生安全 SaaS :从基础到实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 1. 基础概念 什么是 SaaS? SaaS(Software as a Service,软件即服务)是一种基于云计算的软件交付模式。用…...
《Drain日志解析算法》论文阅读笔记
这篇文档介绍了一种名为Drain的在线日志解析方法,它采用固定深度的解析树进行流式日志处理 [cite: 1, 6]。 摘要 日志记录了宝贵的系统运行时信息,广泛应用于Web服务管理中 [cite: 1]。典型的日志分析过程首先需要解析原始日志消息,因为它们…...