目录
一、人眼视觉原理
1、人眼构造
光线通过角膜、晶状体、玻璃体,在视网膜上成像
光敏细胞:
锥状细胞cones:600-700万;分辨力强,色彩;白昼视觉
杆状细胞rods:7600-15000万;对低照度敏感;夜视觉
2、主观亮度
光亮度:是指一个表面的明亮程度。在物理上,即光源在垂直其光传输方向的平面上的,正投影单位表面积单位立体角内发出的光通量。
主观亮度:人眼所能感觉到的亮度。是进入人眼的光强度的对数函数,共分10^10个数量级(人眼可同时鉴别的动态范围较小)。
亮度适应现象:人眼可同时鉴别的动态范围较小。不同照明下,人眼辨别光强度变化的能力不同。人眼是通过改变其灵敏度来完成这一动态调整的。
对比灵敏度:在不同的照明级别下,人眼辨别光强变化的能力。可以用韦伯比 ΔIc/I 来表示:(ΔIc:人类能感受到的最小亮度变化,意思是要这么多的亮度变化我们才能发现)
低照明时,亮度辨别较差(韦伯比大)
高照明时,亮度辨别力好(韦伯比小)
3、视觉特性
马赫带效应(Mach band effect):当亮度发生跃变时,视觉上会感到边缘的亮侧更亮些,暗侧更暗些。在图像轮廓部分发生的主观亮度对比度加强的现象,又称为边缘对比效应。
同时对比效应(Simultaneous Contrast):眼睛对物体的主观亮度强烈的依赖于物体自身的背景。
当灰色物体周围是黑色背景时,主观亮度增强;
当周围背景变明亮时,主观亮度会减弱。
二、连续图像的获取
图像是场景(或者物体)反射(或者透射)“照射”源能量,并在空间上的分布的记录。
照射源:电磁波,声波,超声波,电子,或计算机产生照明模式
场景:常见物体,分子,沉积岩,人类大脑,光源
传感器原理:用对某种能量敏感的材料,把输入能量转化为电压。
单个成像传感器(Single imaging sensor)
线状传感器(Line sensor)
传感器阵列(Array sensor): CCD阵列
三、连续图像的描述
图像是由物体的反射光形成,物体所反射的能量在空间上的分布在数学上可以表述为一能量场E(x,y,z,λ,t) 。
图像可表示为,其中,g(.)表示能量到记录数值的映射,能量的记录数值往往用亮度值表示。
静止的单色的二维灰度图像为。
图像所记录的内容与照射源的照度以及景物的反射能力有关。图像f(x,y)可看做由两个分量组成:入射分量 i 和反射分量 r。
入射分量i(.):取决于照射源
反射分量r(.):取决于成像物体的特性
四、图像数字化
图像数字化所需要的两种处理:
- 采样(Sampling):图像空间坐标的数字化(离散化)。将空间上连续的图像变换成离散点的操作。 --> 空间分辨率
- 量化(Quantization):图像函数值(灰度值)的数字化。将像素灰度转换成离散的整数值的过程。 --> 灰度级分辨率
【灰度值(或灰度)】:表示像素明暗程度的整数。
【灰度级数】:一幅数字图像中不同灰度的个数。灰度级数就代表一幅数字图像的层次,图像数据的实际层次越多视觉效果就越好。
空间分辨率(M×N):图像中可辨别的最小细节(像素)的数量。
采样间隔越小,像素数越多,空间分辨率高,图像质量好,但数据量大。
采样间隔越大,像素数越少,空间分辨率低,图像质量差,严重时出现像素呈块状的国际棋盘效应;
灰度级分辨率(L):灰度级别中可分辨的最小变化。由于硬件方面的考虑,灰度级数通常是2的整数次幂,L=2^k,k就是表示存储像素灰度值所需的比特位数。 比如256
量化等级越多,图像层次越丰富,灰度分辨率高,图像质量好,但数据量大;
量化等级越少,图像层次欠丰富,灰度分辨率低,会出现伪轮廓现象,图像质量变差,但数据量小。
伪轮廓现象:(图像的灰度级数不够)
图像的存储空间:
通常把大小为M×N,灰度级为L的数字图像称为空间分辨率为M×N,灰度级分辨率为L的数字图像。
大小为M×N、灰度级数为L的图像所需的存储空间,即图像的数据量为M×N×k (bit):
同时改变空间分辨率N和灰度分辨率k相对图像质量所产生的影响。简单来说,一个值下降可以用另一个值上升来弥补。
非均匀采样:根据图象细节的丰富程度改变采样间距。细节丰富的地方,采样间距小,否则间距大。
在灰度级变化尖锐的区域,用细腻的采样;在灰度级比较平滑的区域,用粗糙的采样。
在边界附近使用较少的灰度级;剩余的灰度级可用于变化比较平滑的区域—避免或减少由于量化的太粗糙,在变化比较平滑的区域出现伪轮廓现象。
五、数字图像的表示
1、数字图像表示方式
二维离散亮度函数: f(x,y) x,y在图像的分辨率范围内
二维矩阵: A[m,n]
2、数字图像分类
二值图像:每个像素只能是黑或白,没有中间的过渡,故又称为黑白图像。二值图像的像素值为0或1。所以只需要1比特就可以存储一个像素的灰度值。
灰度图像:灰度级数大于2的图像。但不包含彩色信息。
彩色图像:每个像素由RGB三个分量构成,其中RGB是由不同的灰度级来描述。
3、图像文件格式
数字图像在计算机中都是以图像文件的形式存放的。按不同的方式进行组织或存储数字图像的像素灰度,就得到不同格式的图像文件。
图像文件按其格式的不同具有相应的扩展名。RAW, BMP, JPG, PCX, GIF, TIFF等。
图像文件一般由两部分组成:
图像描述信息(head头部):如图像高度和宽度等信息
图像数据(data数据):顺序存放的连续数据
RAW格式:将像素按行顺序存储在文件中。这种文件只含有图像像素数据,不含有信息头。因此,在读图像时,需要事先知道图像大小。最简单的图像文件格式。
BMP格式: Windows操作系统中的标准图像文件格式。由四个部分组成:
- 位图文件头:14字节
- 位图信息头:40字节
- 调色板
- 图像数据
BMP格式-位图文件头:
typedef struct tagBITMAPFILEHEADER {
WORD bfType; //文件类型。必须是字符串”BM”,即0x424D
DWORD bfSize; //指定文件大小
WORD bfReserved1; //保留字,不考虑
WORD bfReserved2; //保留字,不考虑
DWORD bfOffBits; //从文件头到位图数据的偏移字节数
} BITMAPFILEHEADER;
该结构长度固定,为14个字节。
BMP格式-位图信息头:
typedef struct tagBITMAPINFOHEADER {
DWORD biSize; //该结构的长度,40个字节
LONG biWidth; //图像的宽度,单位是像素
LONG biHeight; //图像的高度,单位是像素
WORD biPlanes; //必须是1
WORD biBitCount; //颜色位数,如:1(黑白), 8(256色), 24(真彩色,每个颜色8bit)
DWORD biCompression; //压缩类型,如BI_RGB,BI_RLE4
DWORD biSizeImage; //实际位图数据占用的字节数
LONG biXPelsPerMeter; //水平分辨率
LONG biYPelsPerMeter; //垂直分辨率
DWORD biClrUsed; //实际使用的颜色数
DWORD biClrImportant; //重要的颜色数
} BITMAPINFOHEADER;
BMP格式-调色板:调色板是一个数组,数组中每个元素的类型为一个结构,占4个字节。
注:有些位图不需要调色板,如真彩色图(颜色位数为24bit,如果颜色位数小于24bit,那么为伪彩色图),它们的BITMAPINFOHEADER后面直接是位图数据。
用到调色板的位图,图像数据是该像素颜色在调色板中的索引值(位图是1,4,8位时,有调色板)。
真彩色图,图像数据就是实际的RGB值(位图是24位(真彩色)时,无调色板)。
typedef struct tagRGBQUAD{
BYTE rgbBlue; //该颜色的蓝色分量
BYTE rgbGreen; //该颜色的绿色分量
BYTE rgbRed; //该颜色的红色分量
BYTE rgbReserved; //保留值,不考虑
} RGBQUAD;
2色位图:用1 bit表示一个像素颜色,1 byte表示8个像素;
16色位图: 用4 bit表示一个像素颜色,1 byte表示2个像素;
256色位图: 1 byte 刚好表示一个像素
4、 图像数据结构
- 组合方式:在一个byte中存放多个像素值的方式。能节省内存,但导致计算量增加,处理程序复杂。
- 比特面方式:按比特位存取像素,即将所有像素的相同比特位用一个二维数组表示,形成比特面。n个比特位的灰度图像采用比特面方式存取就有n个比特面。这种结构能充分利用内存空间,便于比特面之间的逻辑运算,但对灰度图像处理耗时多。
- 分层结构:由原始图像开始依次构成像素数愈来愈少的一幅幅图像,就能使数据表示具有分层性,其代表有金字塔结构。
- 金字塔结构(不懂)是对2^k×2^k个像素形成的图像,看成是分辨率不同的k+1幅图像的层次集合, 即2^0×2^0→2^k×2^k。
- 处理这种结构的数据时,首先对分辨率低的图像进行处理,然后进到下面对分辨率高的图像进行处理,使用较丰富的信息。同只对原始图像进行处理的场合相比,这种方法可以限定应该仔细进行处理的范围,可使处理的效率得到提高。
-
树结构(非均匀存储):对一幅二值图像的行、列接连不断地二等分,如果图像中被分割部分的全体像素都变成具有相同的特征时,这一部分则不再分割。
-
用这种方法,可以把图像用四叉树结构表示。可用于特征提取和压缩等
-
-
5、像素间的基本关系
相邻像素:
4邻域:像素p(x,y)的4邻域是:(x+1,y);(x-1,y);(x,y+1);(x,y-1)。
用N4(p)表示像素p的4邻域。
D邻域:像素p(x,y)的D邻域是对角上的点(x+1,y+1);(x+1,y-1);(x-1,y+1);(x-1,y-1)
用ND(p)表示像素p的D邻域
8邻域:像素p(x,y)的8邻域4邻域的点+ D邻域的点
用N8(p)表示像素p的8邻域,N8(p) = N4(p) + ND(p)
邻接性:
考虑图像中的两个像素p和q,那么V是该图像的灰度值集合的任一子集
4邻接:如果q在集合N4(p)中,且p和q的灰度值都在V中。
8邻接:如果q在集合N8(p)中,且p和q的灰度值都在V中。
m邻接:如果q在集合N4(p)中 或 q在集合ND(p)中,且N4(p)∩N4(q)中没有来自V中灰度值的像素。
连通性:
通路:一条从具有坐标(x,y)的像素p到具有坐标(s,t)的像素q的通路,是具有坐标(x0,y0),(x1,y1),...,(xn,yn)的不同像素的序列。
其中,(x0,y0) = (x,y),(xn,yn) = (s,t),(xi,yi) 和(xi-1,yi-1)是邻接的,1 ≤ i ≤ n,n是路径的长度。
如果(x0,y0) = (xn,yn),则该通路是闭合通路。
连通性:对于图像的子集S,如果其中的任意两个像素之间都存在一条通路,则称S是连通的。
对于图像的子集S中的任一像素p,全部连通到p的像素构成了一个连通分量。若S仅有一个连通分量,则称其为连通集(也称为图像的区域)。
对于图像的两个区域Ri和Rj,如果它们形成连通集,则称Ri和Rj为连通区域。
图像的前背景与轮廓:
假设一副图像共包含K个不邻接的区域,即Rk, k=1,2,…,K。
令Ru=∪Rk表示R的并集,(Ru)c表示并集的补集。则Ru称为该图像的前景,(Ru)c称为该图像的背景。
对于某个区域R,其中与R的补集相邻接的点构成的集合,称为R的内轮廓(前景中的最外一圈);R的补集中与内轮廓相邻接的点称为外轮廓(背景中的最内一圈)。
像素之间距离
对于像素p、q和z,分别具有坐标(x,y),(s,t)和(u,v),如果
(1) D(p,q) ≥ 0 (D(p,q)=0,当且仅当p=q),
(2) D(p,q) = D(q,p) 自反性
(3) D(p,z) ≤ D(p,q) + D(q,z)
则称D是距离函数或度量
像素p(x,y)和q(s,t)的欧氏距离:
D4距离:
具有与(x,y)距离小于等于某个值r的那些像素形成一个菱形
D4 = 1的像素是(x,y)的4邻域
D8距离(棋盘距离)定义
具有与(x,y)距离小于等于某个值r的那些像素形成一个正方形
六、图像上的运算
空间上的几何变换:(x,y) = T{ (v,w) }
T:变换矩阵
(v,w):原图像中像素的坐标
(x,y):变换后图像中像素的坐标
把图像缩小一半:(x,y) = (v/2, w/2)
变换矩阵T的类型:(一个; 表示一列) 坐标的向量:[x,y,1或0]T (1表示非无穷远点 0表示无穷远点)
七、数字图像质量
层次:表示图像实际拥有的灰度级的数量
亮度
对比度:是指一幅图象中灰度反差的大小
清晰度:由图像边缘灰度变化的速度来描述