基础内容
前言:本篇笔记,在于对数字图像处理有个初步的了解,了解数字图像是什么、数字图像处理能做些什么、数字图像有什么特点,为后续进一步学习做铺垫。
学习资料:
1)《数字图像处理学》第3版 阮秋琦
2)数字图像处理 任获荣 视频
3)图像处理与机器学习 黄琳琳 视频
图片:图1、2来自网络,图3、4自己画的。
数字图像是什么,和模拟图像又有什么区别
划分标准:图像按照空间坐标和亮度(或色彩)的连续性可分为模拟图像和数字图像。
例如下图:左为模拟图像,右为数字图像
- 模拟图像(Analog Image):通过某种连续的物理量,例如光或电的强弱变化,来记录图像的信息,例如生活中的胶卷。
- 数字图像(Digital Image):采用数字的表达方式来记录图像,是一个离散采样点的集合,例如电脑中的图片文件。
从模拟图像得到数字图像:通过采样加量化得到。模拟图像通过采样,将空间中连续的图像离散化得到像素网格,再对每个像素中心点连续的灰度值进行量化表示。
数字图像处理
数字图像处理研究内容
- 图像信息获取(Image Information Acquisition):摄像机、扫描仪、数码相机、红外摄像机等。
- 图像信息的存储(Image Information Storage):主要采用磁带、磁盘和光盘,为解决海量存储,还要研究数据压缩、数据格式以及图像数据库等。
- 图像信息的传送(Image Information Transmission):系统内部传递采用DMA来解决速度问题,外部传输主要研究图像通信问题。
- 数字图像的处理(Digital Image Processing)
几何处理(Geometrical Processing):主要进行坐标变换,图像的放大、缩小、旋转和移动等。
算术处理(Arithmetic Processing):对图像进行加、减、乘、除等运算,主要针对像素点的处理。
图像增强(Image Enhancement):主要用来突出图像中感兴趣的信息,而减弱或者去除不必要的信息。
图像复原(Image Restoration):去掉干扰和模糊,恢复图像本来的面目。
图像重建(Image Reconstruction):前面都是从图像得到图像,而重建是通过数据得到图像。
图像编码(Image Encoding):利用图像信号的统计特性及人类视觉的生理学和心理学特性对图像信号进行高效编码,用于减少数据存储量、降低数据率来减少传输带宽以及压缩信息量。
图像识别(Image Recognition):方法大致有 三种,即统计识别、句法结构识别以及模糊识别。
图像理解(Image Understanding):输入是图像,输出是一种描述。 - 图像信息的输出与显示:CRT显示、液晶显示器LCD、激光打印机等。
数字图像处理有哪些方法
- 空域法:把图像视为平面中各个像素的集合。
邻域处理法:对某一个像素进行处理的时候,利用了这个像素的周围统一进来考虑。常见的有梯度算法、拉普拉斯算子、平滑算法以及卷积运算。
点处理法:对某一个像素本身进行处理,例如灰度处理、面积、周长等。 - 变换域法:通常首先正交变换得到变换域,然后实施各种处理,在反变换到空间域。例如滤波、数据压缩、特征提取等。变换域法又被称为频域法。
计算机图形学和数字图像处理的区别
- 计算机图形学(Computer Graphics,CG):研究如何将三维信息投影到一个二维平面上,例如3D游戏,推荐闫令琪老师课入门。
- 数字图像处理(Digital Image Processing,DIP):顾名思义,对图像进行处理,例如PS美图。
常用的数字图像处理开发工具
- MATLAB:有很多图像处理的函数,编程比较简单,能够快速直观得到图像处理的结果,适合科学研究。
- C++:更适合底层,运行效率比较高,通常用在开发实际工程项目中。
- Python:解释型语言,开源免费且方便跨平台,有很多的库可以使用,比C++好上手。
数字图像
图像的数学表达
一幅图像可以被看成是空间各个坐标点上强度的集合。
任一幅活动、彩色、立体的图像,可以用I=f(x,y,z,λ,t)。其中(x,y,z)是坐标,λ是波长,t是时间,I是图像强度。
对于一个静止、平面、单色的图像,可以用数学表达式来简化表达I=f(x,y)。
数字图像的性质
- 分辨率
图像分辨率:指的是一幅图像的像素密度,例如图像可以用32*32像素,也可以用64*64像素。
显示分辨率:指的是显示屏上所能够显示出的像素数目。
打印、扫描分辨率:用dpi衡量,dpi(dots per inch)每英寸能印刷的网点数。而电子显示设备借鉴了dpi的概念,产生了ppi(pixels per inch)每英寸能显示的像素数量。 - 像素深度:每个像素存储所用的位数,和前面提到的量化所对应的值,例如灰度深度。
- 位面数量:一幅图像的位面数相当于组成图像的像素矩阵的维数,例如彩色图像有三个位面——红色、绿色和蓝色分量。
分辨率是不是越高越好?:不是,虽然一开始分辨率越高,视觉效果也会越好,但是随着分辨率达到人眼视觉效果的极限,视觉效果就会趋于平稳。
图像所需字节数的计算:尺寸*单位尺寸像素数*像素深度。
数字图像类型
静态图像可以分为矢量图和位图。
- 矢量图(Vector):用数学公式描述的图像,图像中的每个形状都能用一个完整的公式描述。
优点:文件数据量小;图像质量与分辨率无关;计算和显示图像时,往往能看到画图的过程。
缺点:不易制作色彩丰富的图像;绘制出来不够逼真;不易在不同软件间交换。 - 位图(Bitmap):通过像素点来表示图像,每个像素具有颜色属性和位置属性。
优点:显示速度快;真实世界图像可以通过输入设备转换为点位图。
缺点:存储和传输时数据量大;进行旋转等操作时算法复杂且容易失真。
位图又分为二值图像、亮度图像、索引图像和RGB图像。
- 二值图像:每个像素点只有黑白两种颜色,通过0或者1来表示黑白。
- 亮度图像:每个像素的颜色都是介于黑色和白色之间的颜色,如果灰度级是8bit,那么就有256种灰度。
- RGB图像:RGB又叫做真彩色,自然界中几乎所有颜色都能用红绿蓝(RGB)三种颜色组合而成。每个像素由红、绿和蓝三个字节组成,每个字节8bit,能够表示256*256*256种颜色,约为1670万种。
- 索引颜色图像:索引颜色可以叫做映射颜色,颜色是预先定义的、有限的颜色,最多只能显示256种。
数字图像文件格式
图像文件格式:即图像文件的数据构成,通常图像文件都有一个文件头,然后才是图像数据。
文件头:类型、制作者、制作时间、版本号、大小、有无调色板等内容。
调色板:一般用于颜色数很少的图像或者不支持真彩色,采用索引压缩算法,例如GIF格式文件不支持真彩色。
常见的图像文件格式:
- 互联网:GIF、JPG、PNG。
- 印刷:TIF、JPG、TAG、PCX。
- 国际标准:TIF、JPG。
像素间的基本关系
- 邻域:与某一个像素相邻的像素集合,下面介绍几个常用的邻域。
4邻域:某个像素(x,y)则它的4邻域像素集合为(x+1,y)、(x,y+1)、(x-1,y)、(x,y-1)。
对角邻域:某个像素(x,y)则它的对角邻域像素集合为(x+1,y+1)、(x-1,y-1)、(x-1,y+1)、(x+1,y-1)。
8邻域:等于3×3邻域或者4邻域+对角邻域。
- 邻接:空间上相邻,且灰度值满足某个特定相似准则,主要有4邻接、8邻接和m邻接。
两个像素满足4邻接,必然满足8邻接。
m邻接是满足4邻接和8邻接时,优先采用4邻接,用于解决像素之间多条通路问题。 - 连通性:两个像素S和T连不连通,看是否有首尾像素为S和T的一系列邻接像素。有的话,这一系列的像素序列就是通路,通路的种类有4通路、8通路和m通路。
- 距离度量:介绍两个常见的距离度量,欧氏距离De和城市距离D4。给定两个像素p和q,坐标分别(x,y)和(s,t)。
欧氏距离 D e ( p , q ) = ( x − s ) 2 + ( y − t ) 2 欧氏距离D_e(p,q)=\sqrt{(x-s)^2+(y-t)^2} \quad 欧氏距离De(p,q)=(x−s)2+(y−t)2
城市距离 D 4 ( p , q ) = ∣ x − s ∣ + ∣ y − t ∣ 城市距离D_4(p,q)=|x-s|+|y-t| 城市距离D4(p,q)=∣x−s∣+∣y−t∣