最新数字图像处理基础教案文档格式.docx
《最新数字图像处理基础教案文档格式.docx》由会员分享,可在线阅读,更多相关《最新数字图像处理基础教案文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
然后启动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。
为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;
照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。
至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。
扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。
在扫描仪的工作过程中,有两个元件起到了关键的作用。
一个是CCD,它将光信号转换成为电信号;
另一个是A/D变换器,它将模拟电信号变为数字电信号。
CCD是ChargeCoupleDevice的缩写,称为电荷耦合器件,它是利用微电子技术制成的表面光电器件,可以实现光电转换功能。
CCD在摄像机、数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括x、y两个方向用于摄取平面图像,而扫描仪中使用的是线性CCD,它只有x一个方向,y方向扫描由扫描仪的机械装置来完成。
CCD芯片上有许多光敏单元,它们可以将不同的光线转换成不同的电荷,从而形成对应原稿光图像的电荷图像。
如果我们想增加图像的分辨率,就必须增加CCD上的光敏单元数量。
实际上,CCD的性能决定了扫描仪的x方向的光学分辨率。
A/D变换器是将模拟量(Analog)转变为数字量(Digital)的半导体元件。
从CCD获取的电信号是对应于图像明暗的模拟信号,就是说图像由暗到亮的变化可以用从低到高的不同电平来表示,它们是连续变化的,即所谓模拟量。
A/D变换器的工作是将模拟量数字化,例如将0至1V的线性电压变化表示为0至9的10个等级的方法是:
0至小于0.1V的所有电压都变换为数字0、0.1至小于0.2V的所有电压都变换为数字1……0.9至小于1.0V的所有电压都变换为数字9。
实际上,A/D变换器能够表示的范围远远大于10,通常是2^8=256、2^10=1024或者2^12=4096。
如果扫描仪说明书上标明的灰度等级是10bit,则说明这个扫描仪能够将图像分成1024个灰度等级,如果标明色彩深度为30bit,则说明红、绿、蓝各个通道都有1024个等级。
显然,该等级数越高,表现的彩色越丰富。
步骤
1扫描仪与计算机和打印机的连接;
2打开计算机,安装扫描仪的驱动程序;
3分别相描一幅二值、灰度和彩色因像
4调整彩色图像的色彩。
5将获得的图像的格式转换为“*.gif”的格式,保存或拷贝到MATLAB程序组根目录的“work”文件夹中,以便后面的实验做为“原图像”利用。
6记录和整理实验报告
仪器
1计算机;
2扫描仪(或数码相机、数字摄象机)及其驱动程序盘;
3图像处理软件(画图,photoshop,Microsoftphotoedit等);
4记录用的笔、纸。
实验报告内容
六、思考题
1扫描仪有哪些重要指标?
幅面大小、分辨率、颜色数、接口方式
2你使用过哪些图像获取设备呢?
数码相机、摄相机、扫描仪
第二节、图像压缩
目的
1.理解有损压缩和无损压缩的概念;
2.理解图像压缩的主要原则和目的;
3.了解几种常用的图像压缩编码方式。
4.利用MATLAB程序进行图像压缩。
原理
1.图像压缩原理
图像压缩主要目的是为了节省存储空间,增加传输速度。
图像压缩的理想标准是信息丢失最少,压缩比例最大。
不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;
损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。
压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。
信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。
高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。
编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。
(1).冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。
具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。
(2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。
也就是说解码图像和原始图像是有差别的,允许有一定的失真。
应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:
(1)无损压缩编码种类
哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempelzev编码。
(2)有损压缩编码种类
预测编码,DPCM,运动补偿;
频率域方法:
正交变换编码(如DCT),子带编码;
空间域方法:
统计分块编码;
模型方法:
分形编码,模型基编码;
基于重要性:
滤波,子采样,比特分配,向量量化;
(3)混合编码。
有JBIG,H261,JPEG,MPEG等技术标准。
本实验主要利用MATLAB程序进行离散余弦变换(DCT)压缩和行程编码(RunLengthEncoding,RLE)。
1)离散余弦变换(DCT)图像压缩原理
离散余弦变换DCT在图像压缩中具有广泛的应用,它是JPEG、MPEG等数据压缩标准的重要数学基础。
和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式))相比,JPEG是目前静态图像中压缩比最高的。
JPEG比其他几种压缩比要高得多,而图像质量都差不多(JPEG处理的图像只有真彩图和灰度图)。
正是由于其高压缩比,使得JPEG被广泛地应用于多媒体和网络程序中。
JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基本系统(Baseline)。
用DCT压缩图像的过程为:
(1)首先将输入图像分解为8×
8或16×
16的块,然后对每个子块进行二维DCT
变换。
(2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格
式。
用DCT解压的过程为:
(1)对每个8×
16块进行二维DCT反变换。
(2)将反变换的矩阵的块合成一个单一的图像。
余弦变换具有把高度相关数据能量集中的趋势,DCT变换后矩阵的能量集中在矩阵的左上角,右下的大多数的DCT系数值非常接近于0。
对于通常的图像来说,舍弃这些接近于0的DCT的系数值,并不会对重构图像的画面质量带来显著的下降。
所以,利用DCT变换进行图像压缩可以节约大量的存储空间。
压缩应该在最合理地近似原图像的情况下使用最少的系数。
使用系数的多少也决定了压缩比的大小。
在压缩过程的第2步中,可以合理地舍弃一些系数,从而得到压缩的目的。
在压缩过程的第2步,还可以采用RLE和Huffman编码来进一步压缩。
2)行程编码(RLE)原理:
例如如下这幅的二值图像,
如果采用行程编码可以按如下格式保存
其中10和8表示图像的宽和高。
在这个小例子中行程编码并没有起到压缩图像的作用。
这是由于这个图的尺寸过小,当图像尺寸较大时行程编码还是不错的无损压缩方法。
对于灰度图像和二值图像,用行程编码—般都有很高的压缩率。
行程编码方法实现起来很容易,对于具有长重复值的串的压缩编码很有效,例如:
对于有大面积的阴影或颜色相同的图像,使用这种方法压缩效果很好。
很多位图文件格式都采用行程编码,如TIFF,PCX,GEM,BMP等。
实验步骤
1打开计算机,启动MATLAB程序;
2调入“实验一”中获取的数字图像,并进行数据的行程(RLE)编码压缩处理;
3将原图像在Photoshop软件中打开,分别以不同的位图文件格式进行“另保存”,比较它们的数据量。
4记录和整理实验报告
实验仪器
2MATLAB、Photoshop等程序;
3移动式存储器(软盘、U盘等)。
实验程序
图像压缩编码的MATLAB程序语句
1利用DCT变换进行图像压缩的MATLAB程序
RGB=imread('
原图像名.tif'
);
I=rgb2gray(RGB);
J=dct2(I);
imshow(log(abs(J)),[]),colormap(jet(64)),colorbar
J(abs(J)<
10)=0;
K=idct2(J);
figure,imshow(I)
figure,imshow(K,[0255])
2利用离散余弦变换进行JPEG图像压缩
I=imread(‘原图像名.tif’);
%读入原图像;
I=im2double(I);
%将原图像转为双精度数据类型;
T=dctmtx(8);
%产生二维DCT变换矩阵
B=blkproc(I,[88],’P1*x*P2’,T,T’);
%计算二维DCT,矩阵T及其转置T’是DCT函数P1*x*P2的参数
Mask=[11110000
11100000
11000000
10000000
00000000
00000000];
%二值掩膜,用来压缩DCT系数,只留下DCT系数中左上角的10个
B2=blkproc(B,[88],’P1.*x.’,mask);
%只保留DCT变换的10个系数
I2=blkproc(B2,[8,8],’P1*x*P2’,T’,T);
%逆DCT,重构图像
Subplot(1,2,1);
Imshow(I);
title(‘原图像’);
%显示原图像
Subplot(1,2,2);
Imshow(I2);
title(‘压缩图像’);
%显示压缩后的图像。
对比原始图像和压缩后的图像,虽然舍弃了85%的DCT系数,但图像仍然清晰(当然有一些质量损失)
3利用行程编码(RLE)进行图像压缩
I=checkerboard(10,2);
%调入原图像
[mn]=size(I);
J=[];
fori=1:
m
value=I(i,1);
num=1;
forj=2:
n
ifI(i,j)==value
num=num+1;
else