1、第 1 章 概论数字图像与像素1. 以数字格式存放, 便于计算机处理的图像称之为数字图像。2. 借助于数字化设备(扫描仪、数码相机等), 可以实现模拟图像 (照片、 海报等)的数字化。3. 数字图像可以方便地进行各种数字图像处理。4. 数字图像是由一个个的像素(Pixel)构成的,各像素的值(灰度,颜色)一般用整数表示。5. 图像矩阵中的每一个元素称为像素(pixel)。 而 g (i, j) 代表 (i, j)点的灰度值(亮度值)。g (i, j, 波长, t 时间) 6. 像素(Pixel):是组成数字图像的最小单位, 实际上像素数目的多少才是衡量图像大小的真正尺度。图像工程三层次7. 图
2、像处理,图像分析,图像理解. 1. 图像处理图像处理的重点是图像之间的变换。图像处理主要是对图像进行各种加工,来达到三种目的:1)改善图像的视觉效果;2)图像数据的预处理,为自动识别打基础;3)对图像进行压缩编码以减少存储空间和传输带宽。2. 图像分析图像分析主要是对图像中感兴趣的目标进行检测和测量, 以获得它们的客观信息和参数,从而建立起对图像的描述。如果说图像处理是一个从图像到图像的过程,则图像分析就是一个从图像到数据的过程。这些数据描述了目标的特点和性质。3. 图像理解图像理解是在图像分析的基础上,进一步研究图像中各目标的性质和它们之间的相互联系,并得出对图像内容的理解和解释,从而指导决
3、策。图像理解具有较多人工智能的色彩(所谓机器视觉)。其处理过程和方法与人类的思维推理有许多类似之处。图像处理硬件系统组成 摄像机(Video Camera);扫描仪(Scanner);数码相机(Digital Camera);遥感图像获取设备;图像采集卡,图像显示卡;图像存贮装置等。第 2 章 数字图像处理基础图像数字化过程-采样与量化1. 图像在空间上的离散化称为采样。先行后列采样,细节越多,采样间隔应越小。2. 把采样后得到的各像素的灰度值进一步转换为离散量的过程就是量化。一般,灰度图像的像素值量化后用一个字节(8bit)来表示。即 0255 共 256 级灰度值,对应的颜色为从黑到白.3
4、. 量化:均匀量化和非均匀量化.一般用均匀量化. 采样、量化与图像质量的关系当量化级数 L=2Q 一定时,采样点数 MN 对图像质量有着显著影响采样点数越多,图像质量越好; 当采样点数减少时,图上的块状效应就逐渐明显。同样,当采样点数一定时,采用不同量化级数的图像质量也不一样。量化级数越多,图像质量越好,当量化级数越少时,图像质量越差,量化级数最小的极端情况就是二值图像。图像尺寸、数据量的计算假定一幅图像取 MN 个样点(像素),每个像素量化后的二进制位数为 Q, 则存储该图像所需的二进制位数为字节数为 QNMb)(8ByteQNMB数字图像的类型数字图像总体上可分为矢量(公式绘图指令)图和位
5、图(颜色属性位置属性像素点)。数字图像文件的类型Bmp,tifgif,jpg图像文件三要素一般来讲,图像文件包括三部分内容:文件头,颜色表,图像数据第 3 章 MATLAB 图像编程基础MATLAB 图像数据类型MATLAB 即支持二值、灰度、索引、RGB (真彩)图像类型;也支持 BMP、GIF、TIF、 JPG 等图像文件的输入输出 (读、写和显示)。图像类型: 二值、灰度、索引、RGB 图像。图像文件类型: TIF、 GIF、BMP、JPG。图像数据类型: 用于存储图像的数据的类型。MATLAB 图像数据类型有三种:double: 实型, 64 位浮点, 占 8 个字节。uint8: 8
6、 位无符号整型, 占 1 个字节。uint16: 16 位无符号整型, 占 2 个字节。矩阵元素的引用A(:,3)=0; %将 A 矩阵的第 3 列元素清 0;A(5,:)=1; %将 A 矩阵的第 5 行元素置 1;A(3:5,2:4)=10; %让第 3-5 行,2-4 列元素都等于 10;if 语句与 for 循环语句图像文件的操作命令(读取,显示,存盘)A = imread(filename.fmt); / A,map = imread(filename.fmt);info=imfinfo(filename); imshow(A); / imshow(B,map); imwrite(A
7、, filename.fmt); / imwrite(X,map, filename.fmt);图像类型的转换函数及其用法1. 二值图像每个像素占用 1bit 存储空间.2. 灰度图像: 象素不含颜色信息,只含有亮度信息的图像。灰度图像的数据类型一般为 uint8,但也可以是 uint16 或 double 类。3. 索引图像:索引图像是由数据阵和颜色阵一起来描述的。数据阵的类型一般为 uint8。颜色阵是一个 n(颜色数) 行 3 列的 double 类矩阵。4. RGB 图像:也即真彩色图像。其数据按照 (M x N)x 3 的矩阵格式存储。RGB 图像不需颜色表。每个象素颜色的 RGB
8、分量由图像数据直接确定。gray2ind 将灰度图像转为索引图像im2bw 将(任何类型)图像转为二值图像ind2gray 将索引图像转为灰度图像ind2rgb 将索引图像转为 RGB 图像mat2gray 从数据矩阵创建灰度图像rgb2gray 将 RGB 图像转为灰度图像rgb2ind 将 RGB 图像转为索引图像看懂并理解四次实验程序第 4 章 图像增强与平滑直方图的定义、性质1. 定义: 直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数(或出现频率), 直方图的横坐标是灰度级,纵坐标是该灰度级出现的次数,它是图像最基本的统计特征。2. 性质: 直方图只反映出图像中不同灰度值
9、的像素出现的次数(频率或概率), 而未反映出某一灰度值的像素所在的位置信息。不同的图像,可能有相同的直方图。nrpkk)( 1,21,00Lkrknk 为图像中具有灰度级 rk 的像素数,n 是图像总像素数,共有 L 级灰度。直方图绘制与直方图均衡化函数的用法均值滤波原理与 MATLAB 实现1. 外部噪声,内部噪声.邻域平均法运算,模版,2. 邻域平均法: 通过邻域内像素点求平均来去除突变的像素值,滤掉一定噪声,但变整体模糊.平滑效果与所采用邻域的半径(模板大小)有关。半径愈大, 则图像的模糊程度越大.中值滤波原理、特点与 MATLAB 实现3. 中值滤波: 在一定条件下,可以克服线性滤波器
10、(如邻域平滑滤波等)所带来的图像细节模糊,而且对滤除脉冲干扰及突发噪声最为有效。从输入序列中相继抽出 m 个点,再将这 m 个点按其数值大小重新排序,取大小位于中心点的那个数作为滤波输出.4. 对随机噪声的抑制能力,中值滤波比均值滤波要差一些。但对脉冲干扰, 特别是脉冲宽度小于窗口一半时,中值滤波的效果较好。5. 可以认为信号经中值滤波后,频谱基本保持不变。均值滤波、中值滤波与图像噪声的关系6. 均值滤波对含有高斯噪声的图像相对有效; 而中值滤波对含有椒盐噪声图像的去噪声效果较好。第 5 章 图像分割与边缘检测边缘检测与微分运算的关系边缘点是信号“变化剧烈”的地方,是灰度不连续的结果。 图像中
11、不同类型的边缘与灰度变化的关系如图 5-10 所示。对信号的突变(不连续性) 我们可以用一阶和二阶导数来反映和描述。 换句话说,我们可以利用微分算子来进行边缘检测。 实际上常见的边缘检测(如 prewitt, sobel)算子都是微分算子。高斯-拉普拉斯(LOG)算子的特点噪声对边缘检测有较大影响, 效果更好的边缘检测器是高斯-拉普拉斯(LOG)算子。它把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平滑噪声,再进行边缘检测。常用 55 模板 LOG 又叫墨西哥草帽滤波器242084*242边缘检测的 MATLAB 实现(edge 函数)轮廓提取的 MATLAB 实现(imcontour 函数
12、)差影法的概念及其实质7. 差影法,实际上就是图像的相减运算(又称减影技术), 是指把同一景物在不同时间拍摄的图像或同一景物在不同波段的图像相减。差值图像提供了图像间的差异信息,能用来指导动态监测、运动目标检测和跟踪、图像背景消除及目标识别等。8. 第 6 章 图像的几何变换比例缩放的 MATLAB 实现A=imread(A.jpg); %读入图像imshow(A); %显示图像(大小为 728x612) B=imresize(A,0.6); %缩放到 0.6 倍figure; imshow(B); %显示缩放 0.6 倍的图像C=imresize(A,182 153); %缩放到 182x1
13、53 像素figure; imshow(C); %显示 182x153 的图像图像平移的 MATLAB 实现例将 256x256 大小的灰度图像实现 50:50 的平移:A=imread(d:testpictureslena_gray.bmp); %读入figure; subplot(1,2,1); imshow(A); %显示图像 for i=1:256for j=1:256i1=i+50; if i1256 i1=256; endj1=j+50; if j1256 j1=256; end B(i,j)=A(i1,j1);endend %用两重 for 循环实现平移 imwrite(B,d:
14、testpicturesmoved.bmp); %结果存盘subplot(1,2,2); imshow(B); %显示平移结果图像镜像的 MATLAB 实现A=imread(d:testpictureslena_gray.bmp); %读入灰度图像subplot(1,3,1); imshow(A); title(Original image); %显示原图像(大小为 256x256)for i=1:256for j=1:256i1=257-i; j1=j; H(i,j)=A(i1,j1); %水平镜像运算 i2=i; j2=257-j; V(i,j)=A(i2,j2); %垂直镜像运算ende
15、ndimwrite(H,d:testpicturesH_mirrored.bmp); imwrite(V,d:testpicturesV_mirrored.bmp); %保存结果subplot(1,3,2); imshow(B); title(Horizontal mirrored image); %显示水平镜像subplot(1,3,3); imshow(C); title(Vertical mirrored image); %显示垂直镜像图像旋转的 MATLAB 实现pic=imread(d:testpicturesgewala.jpg);imshow(pic); %显示原图像pic1=i
16、mrotate(pic,45); %旋转 45 度pause(3); figure; imshow(pic1); %显示旋转后图像复合变换与基本变换的关系复合变换是指对图像连续施行多次的平移、镜像、比例、旋转等基本变换后所完成的变换。利用齐次坐标,可以证明,复合变换矩阵等于基本变换矩阵按顺序依次相乘得到的组合矩阵。设对图像依次进行了基本变换 F1,F2,FN,它们的变换矩阵分别为 T1,T2,TN,则图像复合变换的矩阵 T 可以表示为:T = TN TN-1 T1。 第 7 章 频域处理离散傅立叶变换(DFT)的性质1. 要在数字图像处理中应用傅立叶变换, 需解决两个问题:一是数学上的 f(x
17、) 为连续(模拟)信号, 而计算机处理的是数字信号;二是数学上采用无穷大概念,而计算机只能进行有限次计算。通常, 将受这种限制的傅立叶变换称为离散傅立叶变换2. 离散序列的傅立叶变换仍是一离散序列,每个 u 对应的变换结果是输入序列 f(x)的加权和(乘以不同频率的正弦和余弦值)。3. 102sinco)()(Nx NuxjxfuF4. 可分离性: 二维傅立叶变换可分解为两步进行,其中每一步都是一个一维变换。先对 f(x, y)按行进行变换得到 F(x, v),再对 F(x, v)按列进行变换,便可得到 F(u, v),如下图所示5.f (x, y) F (x, ) F (u, )DFT DF
18、T6. 平移性质: 只要将 f(x, y)乘以因子(1)x+y,再进行离散傅立叶变换,即可将图像的频谱原点由(0,0)移动到(M2, N2)处。图 7-5 是简单方块图像平移的结果7.8. 旋转不变性: 如果时域中函数旋转 0 角度,则在变换域中的变换函数也将旋转同样的角度。离散傅立叶变换的旋转不变性如图 7-6 所示离散余弦变换(DCT)的特性1. 一维 DCT 的逆变换核与正变换核是相同的。2. 二维 DCT 的逆变换核与正变换核也相同,且是可分离的3. 根据可分离性, 二维 DCT 可用两次一维 DCT 来完成,其算法流程与 DFT 类似4. 对 DCT 而言,(0, 0)点对应于频谱的
19、低频成分,(N-1, N-1)点对应于高频成分,这被称作能量集中特性;而 DFT 中, (N2, N2)点对应于高频成分常用的图像正交变换5. 完成这种变换, 一般采用的方法是线性正交变换)()(fFtf正 变 换逆 变 换6. 正向变换核和反向变换核,它们都是可分离的和对称的, 即是正交变换.7. 二维傅立叶变换可以利用变换核的可分离性, 用两次一维变换来实现,即可先对 f(x, y)的按行进行一维变换得到 F(x, v),再对 F(x, v)按列进行一维变换得到 F(u, v)。灰度图像 DCT 变换的 MATLAB 实现8. Y=fft(X); Y 是 X 的傅立叶变换.Z=ifft(Y
20、); Z 是 Y 的傅立叶逆变换.9.10. 2 维快速 DFT 函数:fft2(2 维傅立叶变换)11. ifft2 (2 维傅立叶逆变换)12.13.SA D 14.15.小波缩放因子与信号频率之间的关系16. 小波变换是通过缩放母小波(Mother wavelet)的宽度来获得信号的频率特征, 通过平移母小波来获得信号的时间信息。17. 小波变换是信号 f(x)与被缩放和平移的小波函数 ()之积在信号存在的区间里求和的结果18. 小波缩放因子与信号频率之间的关系是:缩放因子 scale 越小,表示小波越窄,度量的是信号的细节变化,也就是信号的高频部分;缩放因子 scale 越大, 表示小
21、波越宽,度量的是信号的粗糙程度,也就是信号的低频部分。 小波分解的基本概念19. 实际上,信号的低频分量往往是最重要的,而高频分量只起一个修饰的作用20. S 表示原始的输入信号, 通过两个互补的滤波器组, 其中一个滤波器为低通滤波器, 通过该滤波器可得到信号的近似值 A (Approximations),另一个为高通滤波器, 通过该滤波器可得到信号的细节值D(Details)21. 实际上,信号的低频分量往往是最重要的,而高频分量只起一个修饰的作用第 8 章 数学形态学及其应用腐蚀与膨胀的基本概念 22. 用 S 来腐蚀 X 得到的集合是 S 完全包含在 X 中时 S 的原点的集合23. 腐
22、蚀可以把小于结构元素的物体(毛刺、小凸起)去除,这样选取不同大小的结构元素,就可以在原图像中去掉不同大小的物体。24. 膨胀 腐蚀是将图像 X 中每一与结构元素 S 全等的子集 S+x 收缩为点 x。反之,将 X 中每一点 x 扩大为 S+x,这就是膨胀运算,记为 。 其集合定义为:开、闭运算的基本概念25. 可先对图像进行腐蚀然后膨胀, 称为开运算; 或先对图像进行膨胀然后腐蚀,称为闭运算。26. XS 开=对腐蚀图像用膨胀进行恢复,XS 闭=对膨胀图像用腐蚀进行恢复,27. 开运算通过消除图像的凸角来平滑图像28. 闭运算通过填充图像的凹角来平滑图像开、闭运算对图像的影响(凸与凹)1)扩展
23、/收缩性: XS=X=XS即开运算恒使图像缩小,而闭运算恒使图像扩大。2)平移不变性:(X+h)S=(XS)+h, (X+h)S=(XS)+hX(S+h)=XS, X(S+h)=XS3)等幂性: (XS)S=XS, (XS)S=XS等幂性意味着一次形态学滤波效果与多次等效灰度图像的膨胀函数(imdilate)及其用法灰度图像的腐蚀操作有两类效果: 如果结构元素的值都为正, 则 输出图像会比输入图像暗; 输入图像中的亮细节会被削弱或消除, 削弱的程度取决于这些亮细节的灰度值 以及它们相对于结构元素的尺寸和形状对灰度图像的膨胀操作有两类效果: 如果结构元素的值都为正,则输出图像会比输入图像亮;根据
24、输入图像中暗细节的灰度值以及它们的形状和尺寸相对于结构元素的关系,它们(暗细节)在膨胀中被削减或消除灰度图像的腐蚀函数(imerode)及其用法第 9 章 彩色图像处理常见颜色模型及其应用场合1. RGB 颜色模型,原理人眼细胞感光.2. HSI 颜色有三个基本属性,色调、饱和度和亮度3. CMYK 模型的基色为青色 (Cyan)、品红色(Magenta)、黄色 (Yellow)和 黑色(Black)4. 面向硬件设备的最常用彩色模型是 RGB 模型。5. 面向彩色处理的最常用模型是 HSI 模型。6. 面向印刷工业最常用模型是 CMYK 模型。7. 面向电视信号传输最常用模型是 YUV 模型
25、。彩色图像的分通道处理8. 某一特定变换只会对特定的颜色模型比较适用。 例如, 若采用直方图均衡化来处理的话,对HSI 模型中的 I 分量进行处理,其结果正常; 但若是对 RGB 模型中的三个分量通道 (R、G、B) 分别进行处理, 则会发生颜色畸变(偏色)。9. 直方图,平滑,锐化.RGB 图像直方图均衡的 MATLAB 实现RGB 图像中值滤波的 MATLAB 实现第 10 章 图像特征与理解图像边界的 4 方向链码表示10. 链码是边界的表示方法,它用一系列特定长度和方向的相连的直线段来表示目标的边界。11.12.对图 10-9(c)所示边界,设起始点 O 的坐标为(5,5),则可分别用
26、以下 4 方向和 8 方向链码表示区域的边界:4 方向链码:(5,5) 1 1 1 2 3 2 3 2 3 0 0 ; 8 方向链码:(5,5) 2 2 2 4 5 5 6 0 0 。使用链码时,起始点的选择很关键。对同一个边界, 如用不同的边界点作为起始点,得到的链码是不同的。 图像边界的 8 方向链码表示纹理的概念与分类13. 纹理是图像分析中常用的概念,纹理(Tuxture)一词最初指纤维物的外观, 一般来说,可以认为纹理是由许多相互接近的、 互相编织的元素构成, 它们富有周期性。在图像分析中可将纹理定义为“一种反映一个区域中像素灰度级的空间分布的属性”。14. 人工纹理,自然纹理,认识
27、纹理的方法有两种: 一是凭直观印象, 一是凭图像自身的结构欧拉数的定义与计算公式欧拉数(Euler number)E 定义如下: EC-H (10-53)欧拉数也是区域的拓扑特性之一。图(a)中有 1 个连接和 1 个孔洞,所以其欧拉数 为 0;图(b)中有 1 个连接和 2 个孔洞,其欧拉数为1。(a) (b)第 11 章 图像编码图像编码的分类(根据编码原理)数字图像的冗余主要有以下几种:空间冗余、时间冗余、视觉冗余、 信息熵冗余、结构冗余和知识冗余根据编码原理可以将图像编码分为熵编码、预测编码、 变换编码和混合编码等。图像编码的评价标准1) 编码效率2) 编码图像的质量3) 算法适用范围
28、4) 算法的复杂度哈夫曼编码(过程与方法)如果码字长度严格按照符号出现的概率大小逆序排列, 则其平均码长为最小,这就是变长最佳编码定理。最佳编码平均码长 R 为(D 为进制数)11bHR计算方法:1)首先统计信源中各符号出现的概率,按出现概率从大到小排序。2)把最小的两个概率相加, 合并成新的概率,再与剩余的概率组成新的概率集合。3)对新的概率集合再次排序, 把其中最小的两个概率相加, 组成新的概率集合。如此重复进行, 直到最后两个概率的和为 1。4)分配码字。 对于每次相加的两个概率,给大的赋“0”, 小的赋“1”(也可以相反, 如果两个概率相等, 则从中任选一个赋“0”, 另一个赋“1”即
29、可), 读出时由该符号开始一直走到最后的概率和“1”, 将路线上所遇到的“0”和“1”反向排列,就是该符号的哈夫曼编码。 1S0 0.400.180.100.100.070.060.050.040.090.130.190.230.37 0.601.0001111110 00 00 010010110000010001010001000011 S1S2S3S4S5S6S7行程编码原理与应用场合1. 行程编码(Run Length Encoding,RLE), 是一种熵编码,其编码原理相当简单,即将具有相同值的连续串用其串长和一个代表值来代替, 该连续串就称为行程,串长称为行程长度。例如,有一字符
30、串“aabbbcddddd”, 则经行程长度编码后, 该字符串可以只用“2a3b1c5d”来表示.2. 行程编码分为定长和不定长两种。定长编码的行程长度所用的二进制位数固定,变长编码是指对不同范围的行程长度使用不同的二进制位数3. 行程编码一般用于量化后出现大量连续零系数的场合(如二值图像的编码).4. 如果图像是由很多块颜色或灰度相同的大面积区域组成的,行程编码可以达到很高的压缩比。如果图像数据非常分散,则行程编码不但不能压缩数据,反而会增加数据。一般不单独采用行程编码, 而是和其他编码方法结合使用。JPEG 编解码流程图DCT88 IDCT第 12 章 图像复原图像退化 (复原)的数学模型5. 图像的退化模型H(x, y)f (x, y) g (x, y)n (x, y)6. 图像恢复可看作是:根据退化图像 g(x,y) 和退化算子 h(x,y),沿反向过程去求解原始图像 f(x,y), 或寻找原始图像的最佳近似估计。退化过程可以用数学表达式写成如下的形式: g(x, y)=f(x, y)*h(x, y)+n(x, y) 时域G(u, v)=F(u, v)H(u, v)+N(u, v) 频域7.退化-已知输入求输出复原-已知输出求输入进行图像复原的关键问题是寻找降质系统在空间域上的冲激响应 h(x, y),或者降质系统在频率域上的传递函数 H(u, v)