图像处理算法实战【1】超详细整理 | 新手入门实用指南 | 图像处理基础

news2024/11/25 12:35:52
  • 1. 什么是图像 & 图像在计算机中如何存储?
  • 2. 图像可分为哪些类型?
    • 2.1. 二值(黑白)图像
    • 2.2. 灰度图像
    • 2.3. RGB彩色图像
    • 2.4. RGBA图像
  • 3. 什么是图像通道?
  • 4. 图像处理
    • 4.1. 什么是图像处理?
    • 4.2. 图像处理流程
    • 4.3. 图像处理技术案例
      • 4.3.1. 图像增强
      • 4.3.2. 图像修复
      • 4.3.3. 图像分割
      • 4.3.4. 物体检测
      • 4.3.5. 图像压缩
      • 4.3.6. 图像处理
      • 4.3.7. 图像生成

1. 什么是图像 & 图像在计算机中如何存储?

一幅图像可以定义为一个二维函数 f ( x , y ) f(x,y) f(x,y),其中x和y是空间(平面)坐标,f是图像在点(x,y)处具有的某种性质F的值,而任何一对空间坐标点 ( x , y ) (x,y) (x,y)处的幅值f,即为图像在该点处的强度灰度

为表达更清楚,我们对坐标点 ( x , y ) (x,y) (x,y)使用整数值表示: x = 0 , 1 , 2 , . . . M − 1 x=0,1,2,...M-1 x=0,1,2,...M1 y = 0 , 1 , 2 , . . . N − 1 y=0,1,2,...N-1 y=0,1,2,...N1,图像可表示为如下所示 R x C RxC RxC矩阵形式,其中,R是图像的行数,C为图像的列数,而矩阵中的每个元素即为像素

在这里插入图片描述

习惯上,图像的原点位于左上角,正x轴向下延伸,正y轴向右延伸。许多图像显示扫描都是从左上角开始的,然后一次向下移动一行。

在这里插入图片描述
根据每个像素所代表信息的不同,可将图像分为二值图像、灰度图像、RGB图像等。

其中,二值图像或灰度图像是单通道,RGB图像是三通道(红-绿-蓝)。彩色RGB图像的像素点(x,y)可以表示为三元组 ( r x , y , g x , y , b x , y ) (r_{x,y}, g_{x,y}, b_{x,y}) (rx,y,gx,y,bx,y)

图像在计算机中如何存储?

计算机中,通常将像素通道所对应的值表示为整数(0~255)或浮点数(0~1),并将图像存储为不同类型(格式)的文件。每个文件通常包括元数据和多维数组的数据(例如,二值或灰度图像的二维数组,RGB和YUV彩色图像的三维数组)。

在这里插入图片描述

如下图所示即是将图像数据存储为不同类型图像的数组。其中,灰度图像用"宽度×高度"(二维数组)的模式存储;RGB图像,则用"宽度×高度×3"(三维数组)的模式存储。

在这里插入图片描述

2. 图像可分为哪些类型?

2.1. 二值(黑白)图像

仅具有两个唯一像素强度值 - 0(代表黑色)和 1(代表白色)的图像称为二值图像。此类图像通常用于突出显示彩色图像的区别部分。例如,常用于图像分割,如下图所示。

在这里插入图片描述

2.2. 灰度图像

灰度或8位图像由256种独特的颜色组成,其中像素强度0表示黑色,像素强度255表示白色。其间的所有其他254个值都是不同的灰度值。如下图是将RGB图像转换为其灰度图像的示例。

在这里插入图片描述

2.3. RGB彩色图像

我们在现代世界中常见的图像是RGB或彩色图像,对于计算机来说是16位矩阵。也就是说,每个像素可能有65536种不同的颜色。“RGB”代表图像的红色、绿色和蓝色“通道”。

到目前为止,我们的图像只有一个通道。也就是说,两个坐标可以定义矩阵的任何值的位置。现在,三个大小相等的矩阵(称为通道)彼此堆叠在一起,每个矩阵的值范围为0到255,因此我们需要三个唯一的坐标来指定矩阵元素的值。

因此,当RGB图像中的像素值为 (0, 0, 0) 时,像素的颜色为黑色;当像素值为 (255, 255, 255) 时,像素的颜色为白色。两者之间的任何数字组合都会产生自然界中存在的所有不同颜色。例如,(255, 0, 0) 是红色(因为该像素仅激活红色通道)。同样,(0, 255, 0) 是绿色,(0, 0, 255) 是蓝色。

下图所示是将RGB图像分割为其通道分量的示例。请注意,每个通道的直方图形状不同。
在这里插入图片描述

2.4. RGBA图像

RGBA 图像是彩色 RGB 图像,带有一个称为“alpha”的额外通道,用于描述 RGB 图像的不透明度。不透明度的值范围为 0% 到 100%,本质上是一种“透明”属性。

物理学中的不透明度描述了穿过物体的光量。例如,玻璃纸是透明的(100%不透明度),磨砂玻璃是半透明的,木材是不透明的。RGBA图像中的Alpha通道试图模仿此属性。

在这里插入图片描述

3. 什么是图像通道?

图像通道是指把数字图像按照颜色成分划分成不同的图像,主要有单通道图像、三通道图像、四通道图像,各通道图像之间可以进行转换。

单通道图像指每个像素点只用一个数值来表示,即只可以表示灰度,0表示黑色,1或255表示白色。

三通道图像是指图像的RGB(红绿蓝)模式,即每个像素点用 红绿蓝 三个数值来表示的彩色图像,全0表示黑色 ,全255表示白色,三个值都一样则表示灰色。

四通道图像是在RGB模式的基础上加入了Alpha(透明度),若Alpha=0则表示全透明。

4. 图像处理

4.1. 什么是图像处理?

图像处理是指在计算机上使用算法和代码自动处理、操控、分析和解释图像,广泛应用于诸多学科和领域,如电视、摄影、机器人、遥感、医学诊断和工业检验。

以医学图像分割问题为例,可利用图像预处理操作(图像修复)去除皮肤镜图像中的伪影,如下图所示。

在这里插入图片描述

4.2. 图像处理流程

典型数字图像处理流程的基本步骤如下:

  1. 图像采集。图像由相机捕获并使用模数转换器进行数字化(如果相机输出没有自动数字化),以便在计算机中进一步处理。
  2. 图像增强。在此步骤中,对获取的图像进行处理以满足将使用该图像的特定任务的要求。此类技术主要旨在突出图像中隐藏或重要的细节,例如对比度和亮度调整等。图像增强本质上是高度主观的。
  3. 图像修复。此步骤涉及改善图像的外观,并且是客观操作,因为图像的退化可以归因于数学或概率模型。例如,去除图像中的噪声或模糊。
  4. 彩色图像处理。此步骤旨在处理彩色图像(16位RGB或RGBA图像),例如,在图像中执行颜色校正或颜色建模。
  5. 小波和多分辨率处理。小波是表示不同分辨率图像的构建块。图像连续细分为更小的区域以进​​行数据压缩和金字塔表示。
  6. 图像压缩。为了将图像传输到其他设备或由于计算存储限制,图像需要被压缩并且不能保持其原始大小。这对于通过互联网显示图像也很重要;例如,在 Google 上,图像的小缩略图是原始图像的高度压缩版本。只有当您单击图像时,它才会以原始分辨率显示。该处理可以节省服务器上的带宽。
  7. 形态处理。需要提取在形状表示和描述中有用的图像组件以进行进一步处理或下游任务。形态处理提供了完成此任务的工具(本质上是数学运算)。例如,腐蚀和膨胀操作分别用于锐化和模糊图像中对象的边缘。
  8. 图像分割。此步骤涉及将图像划分为不同的关键部分,以简化和/或将图像的表示更改为更有意义且更易于分析的内容。图像分割允许计算机将注意力集中在图像中更重要的部分,而丢弃其余部分,从而使自动化系统能够提高性能。
  9. 表示和描述。图像分割过程通常遵循此步骤,其中表示的任务是决定分割区域是否应该被描绘为边界或完整区域。描述涉及提取属性,这些属性会产生一些感兴趣的定量信息,或者是区分一类对象与另一类对象的基础。
  10. 物体检测与识别。从图像中分割出对象并完成表示和描述阶段后,自动化系统需要为对象分配标签,让用户知道检测到了什么对象,例如“car”或“people”等。

4.3. 图像处理技术案例

4.3.1. 图像增强

最常见的图像处理任务之一是图像增强或提高图像质量。它在计算机视觉任务、遥感和监控中具有广泛的应用。一种常见的方法是调整图像的对比度和亮度。

对比度是图像最亮和最暗区域之间的亮度差异。通过增加对比度,可以增加图像的整体亮度,使其更容易看到。亮度是图像的整体亮度或暗度。通过增加亮度,图像可以变得更亮,从而更容易看到。大多数图像编辑软件都可以自动调整对比度和亮度,也可以手动调整。

在这里插入图片描述

然而,调整图像的对比度和亮度是基本操作。有时,具有完美对比度和亮度的图像在放大时会由于每平方英寸像素(像素密度)较低而变得模糊。为了解决这个问题,则可以使用图像超分辨率,从低分辨率图像中获得高分辨率图像。

在这里插入图片描述

该技术广泛应用于深度学习领域。例如,最早使用超分辨率的SRCNN模型,首先使用传统的双三次插值对低分辨率图像进行放大,然后用作 CNN 模型的输入。CNN 中的非线性映射从输入图像中提取重叠的图块,并将卷积层拟合到提取的图块上以获得重建的高分辨率图像。模型框架如下图所示。

在这里插入图片描述

4.3.2. 图像修复

图像质量可能会因多种原因而下降,尤其是云存储还不那么普遍的时代的照片。

在这里插入图片描述

4.3.3. 图像分割

图像分割是将图像划分为多个片段或区域的过程。每个片段代表图像中的不同对象,图像分割通常用作对象检测的预处理步骤。

有许多不同的算法可用于图像分割,但最常见的方法之一是使用阈值。例如,二值阈值处理是将图像转换为二值图像的过程,其中每个像素要么是黑色,要么是白色。选择阈值,使得亮度水平低于阈值的所有像素都变黑,并且亮度水平高于阈值的所有像素变白。

在这里插入图片描述

在多级阈值处理中,顾名思义,图像的不同部分根据级别数转换为不同的灰度阴影。例如,本文将多级阈值用于医学成像,特别是脑 MRI 分割,其示例如下所示。

在这里插入图片描述

4.3.4. 物体检测

物体检测是识别图像中的对象的任务,通常用于安防和监控等行业。许多不同的算法可用于物体检测,但最常见的方法是使用深度学习模型,特别是卷积神经网络 (CNN)。

在这里插入图片描述

4.3.5. 图像压缩

图像压缩是减小图像文件大小同时仍尝试保持图像质量的过程。这样做是为了节省存储空间,特别是在移动和边缘设备上运行图像处理算法,或减少传输图像所需的带宽。

传统方法使用有损压缩算法,该算法通过稍微降低图像质量来实现更小的文件大小。例如,JPEG 文件格式使用离散余弦变换进行图像压缩。

现代图像压缩方法涉及使用深度学习将图像编码到低维特征空间,然后使用解码网络在接收器端恢复该特征空间。此类模型称为自动编码器,它由学习有效编码方案的编码分支和尝试从编码特征中无损恢复图像的解码器分支组成。

在这里插入图片描述

4.3.6. 图像处理

图像处理是改变图像以改变其外观的过程。这可能出于多种原因而需要,例如从图像中移除不需要的对象或添加图像中不存在的对象。平面设计师经常这样做来制作海报、电影等。

在这里插入图片描述

4.3.7. 图像生成

图像生成是图像处理中的另一项重要应用,尤其是在需要大量标记数据进行训练的深度学习算法中。图像生成方法通常使用生成对抗网络(GAN),这是另一种独特的神经网络架构。

在这里插入图片描述

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

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

相关文章

王道考研计算机网络

文章目录 计算机网络体系结构计算机网络概述计算机网络的性能指标 计算机网络体系结构与参考模型错题 物理层通信基础基础概念奈奎斯特定理和香农定理编码与调制电路交换、报文交换和分组交换数据报与虚电路 传输介质物理层设备错题 数据链路层数据链路层的功能组帧差错控制检错…

SpringSecurity一日干

前后端登录校验的逻辑 完整流程 本质就是过滤器链 1,提交用户名和密码 2,将提交的信息封装Authentication对象 3,传给下一个,调用2中的authenticate方法进行验证 4,3步骤也验证不了需要调用3的authenticate方法…

概念解析 | 揭秘视觉与语言交叉模型:CLIP和BLIP的介绍

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:CLIP和BLIP模型。 揭秘视觉与语言交叉模型:CLIP和BLIP的介绍 🎯 [LB: 0.45836] ~ BLIP+CLIP | CLIP Interrogator | Kaggle 大纲: 背景介绍原理介绍和推导 CLIP模型BLIP模…

简易yum仓库搭建

目录 一、实验准备 二、获取yum仓库、安装httpd 三、客户机配置yum源 四、测试、验证 一、实验准备 准备两台主机: 192.168.115.148 :安装http 、作为yum仓库、挂载默认光盘 192.168.115.148 :作为客户机使用yum仓库、不挂载光盘 二、…

Dominosa/数邻(1) | C++ | 结构体和类

这里是目录 一、背景介绍二、题目描述三、Dominosa 的技巧?四、编程思路五、完整代码六、补充 一、背景介绍 你玩过骨牌吗?至少你一定听说过或者亲眼见过多米诺骨牌,而多米诺骨牌就发展自骨牌,这是一种古老的游戏,而我…

【Linux】VirtualBox安装Centos7

文章目录 下载并安装VirtualBox下载Centos镜像VirtualBox设置管理->全局设定:设定虚拟机默认安装路径工具->网络管理器:添加NetWork网络配置 VirtualBox安装CentOS7新建虚拟机,指定安装目录及名称,点击下一步指定虚拟机内存…

记录征战Mini开发板从无到有(二)

接上一篇,原理图设计完成后,就要画PCB图了。因为PCB直接影响板子的性能,所以决定花钱找一博科技的资深工程师来布板。布板效果非常好,细节处理得很到位,真的是专业的人干专业的事,话不多说,来欣…

无涯教程-JavaScript - OCT2BIN函数

描述 OCT2BIN函数将八进制数转换为二进制数。 语法 OCT2BIN (number, [places])争论 Argument描述Required/OptionalNumber 您要转换的八进制数。 数字不能超过10个字符。数字的最高有效位是符号位。其余的29位是幅度位。 负数使用二进制补码表示。 RequiredPlaces 要使用的…

python library reference

文章目录 1. 标准库2. Python标准库介绍3. 示例 1. 标准库 https://docs.python.org/zh-cn/3/library/ https://pypi.org/ https://pypi.org/search/ 2. Python标准库介绍 Python 语言参考手册 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Pytho…

【多线程】线程安全 问题

线程安全 问题 一. 线程不安全的典型例子二. 线程安全的概念三. 线程不安全的原因1. 线程调度的抢占式执行2. 修改共享数据3. 原子性4. 内存可见性5. 指令重排序 一. 线程不安全的典型例子 class ThreadDemo {static class Counter {public int count 0;void increase() {cou…

openpnp - 二手西门子电动飞达的测试

文章目录 二手西门子电动飞达的初步测试概述飞达正常的判断标准先挑出一个手工控制好使的二手飞达用于测试.推料的手工检测扒皮的手工检测飞达测试的接线通讯的测试用串口助手测试通讯先看看是否发送给飞达的管脚是自己接的那个查看所有可以用到的上位机通讯命令M115 - 打印固件…

蓝桥杯官网练习题(颠倒的价牌)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。 其标价都是 4 位数字(即千元不等)。 小李为了标…

BWMT的思考

从bw4开始,sap把建模的功能从系统的rsa1移除,改成BWMT的客户端。以前对java开发的eclipse不是很喜欢,总有点排斥。今天突然好像明白sap为啥要这样做? 1 最重要的是减少数据库的数据量和系统的负荷。把这种开发工作的程序和功能放在…

基于微信小程序美食菜品预订点餐预约系统uniapp+vue

点餐预约系统主要是为了提高用户的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对点餐预约系统的各个模块是通过许多今天的发达点餐预约系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则…

Games101作业5解读

文章目录 整体思路阅读Render 整体思路阅读 Scene scene(1280, 960);auto sph1 std::make_unique<Sphere>(Vector3f(-1, 0, -12), 2);sph1->materialType DIFFUSE_AND_GLOSSY;sph1->diffuseColor Vector3f(0.6, 0.7, 0.8);auto sph2 std::make_unique<Spher…

530. 二叉搜索树的最小绝对差

给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,2,6,1,3] 输出&#xff1a;1示例 2&#xff1a; 输入&#xff1a;root [1,…

Windows创建sqlite3的lib库

1、下载相关文件 SQLite Download Page这是sqlite的官网下载地址&#xff0c;需要下载三个文件&#xff1a; 下载后解压得到代码文件&#xff1a; dll选择一个就行&#xff0c;x86或者x64根据自己的需要下载。 dll得到动态库文件&#xff1a; tools得到exe文件&#xff1a; 2…

LabVIEW开发人体动态电位器设计及应用

LabVIEW开发人体动态电位器设计及应用 随着集成电路产业的快速发展&#xff0c;电子设备的集成密度显著提高。电子设备的防静电能力变差&#xff0c;电子设备对静电放电的易感性也更严重。人类是各种科研活动的主要焦点&#xff0c;也是静电防护中的主要危险源之一。如果一个人…

【C++进阶】:AVL树(平衡因子)

AVL树 一.概念二.插入1.搜索二叉树2.平衡因子 三.旋转1.更新平衡因子2.旋转1.左单旋2.右单旋3.先右旋再左旋4.先左旋再右旋 四.完整代码 一.概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元…

CMS指纹识别

一.什么是指纹识别 常见cms系统 通过关键特征&#xff0c;识别出目标的CMS系统&#xff0c;服务器&#xff0c;开发语言&#xff0c;操作系统&#xff0c;CDN&#xff0c;WAF的类别版本等等 1.识别对象 1.CMS信息&#xff1a;比如Discuz,织梦&#xff0c;帝国CMS&#xff0…