《数字图像处理基础》学习01-数字图像处理的相关基础知识
这篇文章只是对数字图像处理的相关基础知识有个大概的了解,之后的文章会接着补充和扩展。
目录
一,图像的基本概念
1,图像
2,图像的分类
1)物理图像
2)虚拟图像
二,数字图像处理
三,数字图像处理系统结构
四,数字图像处理的主要研究内容
一,图像的基本概念
1,图像
相信大家对图像这个词并不陌生,可以看到这个词是由两个字组成:“图”和“像”,其中:
- 图:是指物体反射或者是投射电磁波的分布。
- 像:是指图在人脑中的印象。(或指 人的视觉系统对接收的图信息在大脑中形成的印象)
因此,由上面两个字“图”和“像”组成的词“图像”就是指:
- 用各种观测系统以不同形式和手段观测客观世界而获得的,可以直接或间接作用于人的视觉系
统而产生的视知觉实体。(或 是对客观存在物体的一种相似性的生动模仿与描述,是物体的
一种不完全的,不精确的描述,但是在某种意义下是适当的表示。)
2,图像的分类
图像可分为物理图像和虚拟图像两种。
1)物理图像
物理图像是指物质或能量的实际分布。
物理图像又可以分为:可见图像和不可见图像。
- 可见图像:在物理图像中,有些物质或能量能够被我们的肉眼看到,例如用相机(非数码相
机,可以是手机中的相机)拍摄的风景、人物、动物等日常照片,都是可见图像,即人眼能够
直接感知的图像就是可见图像。如下图👇
还有就是电视和电脑屏幕上的图像也是可见图像,例如:显示的电影、视频、网页等内容。
如下所示👇
- 不可见图像:物质或能量不能被我们的肉眼看到,需要特殊手段才能观察到的图像。例如温
度,高度,压力等的分布图及医学影像等,通过可视化的手段将不可见的物理量转换成肉眼方
便识别的图像。如下所示的温度分布图👇,将不可见的物理量温度使用可视化的手段表示出来
2)虚拟图像
虚拟图像:是指采用数学的方式,将由概念形成的物体(不是实物)进行表示的图像。
虚拟图像是相对于物理图像的另外一种图像,虚拟图像中的内容在现实生活中并不存在,内容全部
靠想象出来,并采用数学建模的方式,利用成像几何原理,在计算机上制作出来,由于虚拟图像是
由计算机制作出来的,不存在客观因素(环境中的尘埃和设备的固有噪声)和主观因素(手抖引起
的模糊)影响,从而导致虚拟图像仿佛就是在真空中拍摄的图像,缺少真实感。
如下所示的动漫,图像中角色都是虚构出来,在现实生活中并不存在。

《雾山五行》 这部动漫贼好看,有兴趣的去观看。
3)数字图像
数字图像:用一个数字阵列来表示的图像 (或是指以二进制形式的数字表示和存储的图像 )。
由于在进行数字图像处理的过程中,要经过计算机,因此需要利用数字化图像扫描仪对物理图像或
虚拟图像扫描来获得数字图像,得以在计算机上处理。如下就是将物理图像转换成数字图像👇
观察上图,可以看到,由于物理图像的内容较多,这里只选取了部分子块(中间彩色的马赛克图)
对应的数字阵列如最右的图所示👆👉👉

可以看到,对于数字图像而言,像素是它的一个最小单位。每个像素点的数值表示对应的颜色和亮
度。(数字图像是以二维的点阵形式显示的,其中的每个(像)点称为像素)
数字图像也可以是数数码相机拍摄得到的图像,亦或者是数字摄像仪拍摄得到的图像。
二,数字图像处理
上面学习了数字图像的概念和产生的途径,接下来,开始对这些数字图像进行处理。
数字图像处理是指对数字图像信息进行加工,以改善图像的视觉效果和提高图像的实用性;或对
字图像进行压缩编码以减少所需的存储空间的技术。
数字图像处理也称为计算机图像处理,泛指利用计算机技术对数字图像进行某些数学运算和各种加工处理。
首先需要知道的是,数字图像处理有两个方面的操作:
- 从图像到图像的处理:将视觉效果不好的图像处理成视觉好的图像。如下👇
左边为原图,右边为处理结果图。
可以看到,这种数字图像处理是在图像的像素级上进行的处理,处理的数据集比较大。 - 从图像到非图像的一种表示(输入是图像,输出是对输入图像进行描述的信息):由于这种
操作不再是从图像到图像的简单数字图像处理,而是侧重于研究图像的内容,更倾向于对图
像内容的分析,解释和识别,比数字图像处理更高一级的计算处理过程,因此,这类处理通
常又称为数字图像分析。如下,是“自动驾驶(YOLO V5) 行人检测 示例图”
以及如下所示,使用直方图来描述图像信息,👇
可以看到,数字图像分析则通过图像分割和特征提取,把原来以像素描述的图像转变成比较简洁的非图形式的描述。
需要知道的是,数字图像分析是通过对图像中不同对象进行分割来对图像中目标进行分类和
识别的技术。其目的主要是为了缩减对图像的描述,使之更适合于计算机处理即对不同目标
的分类。因此,广义的数字图像处理概念实际上指的是图像处理和分析。
数字图像处理与数字图像分析的关系如下
在上图中,数字图像处理就是对图像的低级处理,数字图像分析就是对图像的高级处理。
因此,要想对图像进行图像分析,必须要经过图像预处理。
三,数字图像处理系统结构
一个典型的数字图像处理系统的组成架构:
对应的物理设备如下图所示👇

值得一提的是输入设备的分辨率,如果分辨率过低,会导致图像所包含的图像信息过少,不便于人或机器的处理与分析。
分辨率:是指单位长度上采样的像素个数。单位为DPI(dot/inch,dots per inch 每英寸所打印的点数)。
专用或通用图像处理系统如下:
- 利用MATLAB图像处理工具箱提供的丰富的图像函数和环境进行图像处理软件开发;

MATLAB 是MATrix LABoratory(矩阵实验室)的英文缩写,MATLAB 软件是美国
Mathworks公司推出的一种高级科学计算、专业级符号计算、可视化建模仿真和交互式应用
开发环境。 该系统的基本数据结构是矩阵,程序中的(矩阵)变量不要求做明确的维数说
明,系统提供了大量的内置函数,从而被广泛地应用于数值(线性代数)计算、控制系统、信
号处理、图形绘制、图像处理等领域的分析、仿真和设计工作。 - 直接在Microsoft Windows上,以Microsoft公司的VC++或BC++为编程工具,进行图像处
理软件开发。
四,数字图像处理的主要研究内容
我需要学习的主要有以下六个:
- 图像数字化
图像数字化的目的是将一幅图像以数字的形式进行表示,并且要做到既不失真又便于计算机
进行处理。第二篇文章会详细讲。 - 图像增强
目的是将一幅图像中有用的信息(或感兴趣的信息)进行增强,同时将无用的信息(即干扰
信息或噪声)进行抑制,提高图像的可观察性。如下图👇
通过图像增强,可以将左上模糊的图像处理成左下清晰的图,以及将右上含有噪点的图像处
理成右下无噪点的图像。
可以看到,图像增强是一种简单地突出图像中感兴趣的特征,或想方法显现图像中那些模糊
了的细节,以使图像更清晰地被显示或更适合于人或机器的处理与分析的技术。 - 图像恢复(称图像复原)
图像恢复的目的是将退化了的以及模糊了的图像的原有信息进行恢复,以达到清晰化的目
的。即恢复图像原貌。咋一看,图像恢复和图像强化有点像,其实两者的区别很明显:图像
增强主要是为了突出图像中我们感兴趣的部分(或有用的信息),而图像恢复没有针对性,
它是对整张图像进行无差别的清晰化处理。如下所示的就是图像复原👇
可以看到, 图像恢复是一种从图像退化的数学或概率模型出发,研究改进图像外观,从而使
恢复以后的图像尽可能地反映原始图像的本来面目的一种技术,其目的是获得与景物真实面
貌相像的图像。 - 图像压缩编码
图像压缩编码的目的是简化图像的表示方式,压缩表示图像的数据,以便于存储和传输。
如下图所示,将占用空间较大的33KB原图压缩到了原图的50%以下,得到15KB的效果结果图。
并且,图像压缩编码是在不损失图像质量或少损失图像质量的前提下,尽可能地减少图像的存
储量,以满足图像存储和实时传输应用需求的一种技术。 - 图像分割
图像分割是图像处理技术中最为困难的任务之一,其基本思路是把一幅图像划分成背景和目
标,从而提取感兴趣的目标来。 对于识别到的一幅图像,我们有些时候只需要其中的一小部分,这个时候就可以按照一定的规则将图像分割成区域(或物体)如下图所示👇只需要牌照
- 图像表示与描述
图像的表示和描述基本思路是通过对图像中感兴趣的特征的定性和定量描述,从而赋予识别
出的目标以符号标识和解释。
如下图所示👇
- 图像变换和图像的基本运算
图像变换是指通过一种数学映射的方法,将空域中的图像信息转换机到如频域,时域等空间上进行分析的数学手段。
图像变换是简化图像处理过程和提高图像处理效果的基本技术,最典型的图像变换主要有傅里叶变换、离散余弦变换和小波变换等。
在后续的学习中,会进一步学习数字图像处理相关的研究,有兴趣的关注专栏 。
有问题请在评论区留言或者是私信我,回复时间不超过一天。
相关文章:
《数字图像处理基础》学习01-数字图像处理的相关基础知识
这篇文章只是对数字图像处理的相关基础知识有个大概的了解,之后的文章会接着补充和扩展。 目录 一,图像的基本概念 1,图像 2,图像的分类 1)物理图像 2)虚拟图像 二,数字图像处理 三&…...
C#-泛型学习笔记
C#泛型——约束|协变|逆变 1、泛型使用 在生命时可以使用<>,可以写一个标识符代替一些数据类型,在声明时给出明确定义。 非常强大,因此需要约束。 2、泛型约束 where T: struct//值类型约束,要求泛型必须为基本数据类型…...
Java第二阶段---11封装---第四节 static 修饰符
1.static 修饰符应用范围 static修饰符只能用来修饰类中定义的成员变量、成员方法、代码块以及内部类(内部类有专门章节进行讲解)。 2.static 修饰成员变量 static 修饰的成员变量称之为类变量。属于该类所有成员共享。 示例 package cn.lyxq.test04;public class Chinese…...
【C/C++】错题记录(五)
题目一 题目二 在 16 位机器上,通常以 2 字节为边界对齐。 首先看 char a,它占用 1 个字节。接着是 int b,占用 2 个字节。由于要满足边界对齐,在 char a后面会填充 1 个字节,使得 int b从 2 字节边界开始存储。最后是…...
关系数据库标准语言SQL(11,12)
目录 带有EXISTS谓词的子查询 exists谓词 例子 not exists谓词 例子 不同形式的查询间的替换 用EXISTS/NOT EXISTS实现全称量词 用EXISTS/NOT EXISTS:实现逻辑蕴涵 集合查询 并操作UNION 交操作INTERSECT 差操作EXCEPT 基于派生表的查询 select语句的基本格式 带有…...
Oracle 11g RAC 节点异常重启问题分析
一、背景 在国庆期间巡检的时候,发现数据库alert日志中出现了异常重启的信息,当即对该报错进行分析处理。 二、处理过程 (1)数据库告警日志分析 node1 alert: Sat Oct 05 13:05:14 2024 Thread 1 advanced to log …...
vscode 中显示 pnpm : 无法加载文件 C:\Users\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本
vscode中运行pnpm报错 pnpm : 无法加载文件 C:\Users\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本 解决办法如下 1、用 get-ExecutionPolicy 命令在vscode终端查询状态 如果返回的是 Restricted ,则说明是禁止的 2、用 set-ExecutionPolic…...
C嘎嘎入门篇:类和对象番外(时间类)
前文: 小编在前文讲述了类和对象的一部分内容,其中小编讲述过运算符重载这个概念以及一个时间类,当时小编讲的没有那么细致,下面小编将会讲述时间类来帮助各位读者朋友更好的去理解运算符重载,那么,代码时刻…...
Spring Boot项目实战教程:快速构建Web应用与RESTful API
目录 一、Spring Boot简介1、Spring Boot的定义2、Spring Boot的优势(1)快速开发(2)自动配置(3)微服务支持(4)无代码生成和XML配置(5)独立运行(6&…...
OpenAI 开发者大会!实时语音功能有API了,GPT-4o支持多模态微调,上下文cache功能上线
家人们!十一假期第1天, OpenAI一年一度的开发者大会又来了惹!今年的开发者大会分成三部分分别在美国、英国、新加坡三个地点举办,刚刚结束的是第一场。 去年的OpenAI开发者大会公布了GPT-4 Turbo和GPTs,今年没有大更新…...
解决ros2 rviz Fixed Frame No TF data问题
新建一个终端,然后输入 :map后的数字可以任意,100也可以。注意map与框架名称一致。 rosrun tf2_ros static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map 5...
Python数据分析篇--NumPy--进阶
人有一种天生的、难以遏制的欲望,那就是在理解之前就评判。 -- 米兰昆德拉 多维数组 1. 一维数组只有行,二维数组相比一维数组多了列这个维度,而三维数组则类似多个二维数组堆叠在一起,形如一个立方体。 二维数组的创建 1. 二…...
基于Arduino的宠物食物分配器
创作本文的初衷是本人的一个养宠物的梦想(因为家里人对宠物过敏,因此养宠物的action一直没有落实),但是梦想总是要有的哈哈哈哈哈。上周正好是和一个很好的朋友见面,聊到了养宠物的事情,她大概是讲到了喂宠…...
make和Makefile
make是一个命令工具,用于读取并执行名为Makefile(makefile)的文件中定义的规则。 Makefile是一个文本文件,它告诉make哪些文件依赖于其他文件,以及如何从这些依赖项生成最终的目标文件。 我们先简单看一下使用make的…...
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(2)
4. 微分 4.4 复合函数求导法则及其应用 【例4.4.3】 y e 1 cos x ye^{\sqrt{1\cos x}} ye1cosx ,求 y ′ y y′ 【解】 y ′ e 1 cos x ⋅ 1 2 1 cos x ⋅ ( − sin x ) − sin x 2 1 cos x e 1 cos x ye^{\sqrt{1\cos x}}\cdot\f…...
【预备理论知识——2】深度学习:线性代数概述
简单地说,机器学习就是做出预测。 线性代数 线性代数是数学的一个分支,主要研究向量空间、线性方程组、矩阵理论、线性变换、特征值和特征向量、内积空间等概念。它是现代数学的基础之一,并且在物理学、工程学、计算机科学、经济学等领域有着…...
【目标检测】yolo的三种数据集格式
目标检测中数据集格式之间的相互转换--coco、voc、yolohttps://zhuanlan.zhihu.com/p/461488682?utm_mediumsocial&utm_psn1825483604463071232&utm_sourcewechat_session【目标检测】yolo的三种数据集格式https://zhuanlan.zhihu.com/p/525950939?utm_mediumsocial&…...
数据分析案例-机器学习工程师薪资数据可视化分析
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
Django连接Dify、ChatGPT4o并计算tokens数量方法
通过Dify可以连接很多模型国内、国外的都可以进行选择可以到Dify里创建一个空白应用,然后点击进入就可以看到API了api_url "http://192.168.15.131/v1/chat-messages" api_key "app-UtzTpVNwpTLUcGvRNnnK9QNY" headers {"Authorization…...
面试系列-淘天提前批面试
00-淘天提前批面试 在牛客上看到了淘天提前批的面试题目,这里分析一下淘天面试的问了有哪些内容,面试的重点 是偏向哪些方面 项目相关 1、秒杀架构如何设计? 问了秒杀的架构如何设计,对于秒杀的设计,秒杀符合 写多读少…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
