《数字图像处理实验报告(共8页).doc》由会员分享,可在线阅读,更多相关《数字图像处理实验报告(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上实验一 图像信号的数字化一、实验目的 通过本实验了解图像的数字化参数取样频率(象素个数)、量化层数与图像质量的系。二、实验内容 1.编写并调试图像数字化程序。要求参数 k,n 可调。其中 k为亚抽样比例;n为量化比特数。 2.可选择任意图像进行处理,在显示器上观察各种数字化参数组合下的图像效果。本实验是对 8(bit)的数字图像进行再取样和再量化。三、实验原理 在数字系统中进行处理、传输和存储图像,必须把代表图像的连续信号转变为离散信号,这样的变换过程称为图像信号的数字化。它包括两种处理:取样和量化。1. 取样 在水平和垂直方向作 1:k(k2、4、6、8)的取样,得
2、到新的取样图像。为了观察显示的需要,再按 k:1的比例将再抽样的图像还原为原图像尺寸( 256256)。2. 量化 量化层数取成 2的n次幂,通常称为对图像进行 n比特量化。如果对每个象素分别取n比特的量化( n7、6、.、2、1),其处理算法为: 式中 / 表示取整运算。编程参考框图如图 1.1所示。四、实验方法及程序 根据编程参考框图 1.1,编写图像数字化函数。 function newbuf=Sample_Quant(oldbuf,k,n) 函数实现的功能:读取原图像数据,对 oldbuf中的原图像按 1:k的比例进行再抽样,并按式 (1.1)再量化为 n比特,把处理后的图像放在 ne
3、wbuf数组中。图 1.1 图像取样、量化编程框图实验程序:1、主函数DigitalPrj.m:完成程序界面生成功能,定义菜单回调函数Digital(),用于处理“图像数字化”clf reset %清除图形窗口global k;global n;global oldbuf; %定义数组为全局变量k=1;n=3; %取样和量化初始值 Select=0;set(gcf,name,数字图像实验一_图像信号的数字化,numbertitle,off,. unit,normalized,position,0.12,0.15,0.85,0.75,. menubar,none); str1=Sample In
4、terval ; str2=Quantization Bits ; h_text1=uicontrol(gcf,style,text,. position,330,50,100,35,back,0.8,0.8,0.8,fontsize,9,. string,str1,sprintf(%d,k); h_text2=uicontrol(gcf,style,text,. position,520,50,100,35,back,0.8,0.8,0.8,fontsize,9,. string,str2,sprintf(%d,n);h_slider1=uicontrol(gcf,style,slider,
5、. position,310,28,120,20,. max,20,min,1,. sliderstep,.05,.05,Value,1,. Enable,off);h_slider2=uicontrol(gcf,style,slider,. position,508,28,120,20,. max,8,min,1,. sliderstep,.125,.125,Value,1,. Enable,off);set(h_slider1,callback,k=round(get(gcbo,value);,. set(h_text1,string,str1,sprintf(%d,k);,. Digit
6、al(2););set(h_slider2,callback,n=round(get(gcbo,value);,. set(h_text2,string,str2,sprintf(%d,n);,. Digital(2);); K=0;while (K4) % 菜单选择K=menu(图像数字化菜单,读入图像,图像数字化,Close);switch K case 1 Digital(K) case 2 set(h_slider1,Enable,on); set(h_slider2,Enable,on); Digital(K); case 3 clear;close;clc; end end;2、图
7、像信号数字化函数SampleQuant:function SampleQuant(Select); global oldbuf; %定义数组为全局变量switch Select %选择函数 case 1 oldbuf=ReadImage; %读图像函数 case 2 Sample_Quant(oldbuf); %数字化算法函数end function oldbuf=ReadImage; %读入原图像函数 oldbuf=imread(lena.bmp); subplot(1,2,1); imshow(oldbuf); title(原图像); function Sample_Quant(oldbu
8、f);%图像数字化算法函数,在水平和垂直方向% 作1:k(120)取样,得到新的取样图像,再根据量化公式对每个像素分别取n(18)特比%量化,为了观察显示的需要,再按k:1的比例将再取样的图像还原为原图像尺寸。global k;global n;i=1;j=1; M,N=size(oldbuf); temp=2(8-n); while iM while jN sample=oldbuf(i,j); quante=(sample / temp) * temp; %算法处理 for i1=0:k-1 for j1=0:k-1 if(i+i1M) & (j+j1=N j=1; end i=i+k;
9、end subplot(1,2,2); imshow(newbuf); title(数字化图像) ; 五、实验结果与分析 (k取样间隔,n量化比特值)1、改变采样间隔:(1) k=1,n=4分析:图(1)中取样间隔为1,量化比特值为4,图片轮廓清晰。 (2)k=2,n=4 (3)k=4,n=4分析:随着采样间隔的增大,图片轮廓变得更加模糊,失真加重。当k=4,n=4时,可看到图像呈现出方块。 (4)k=7,n=4 (5)k=11,n=4(6)k=20,n=4分析:随着采样间隔的进一步增大,方块愈加明显,采样间隔达到11后,图片的轮廓已变得很模糊。据以上分析可知,当采样间隔较小时可获得更好的量化
10、结果。2、改变量化比特数:(7)k=1,n=1分析:据图(7),量化比特数为1时,图像有较为严重的失真。 (8)k=1,n=3 (9)k=1,n=4分析:随着量化比特数的增加,图像失真减小,当量化比特数达到4时,图像变得较为清晰,与远图像几乎没有差异。 (10)k=1,n=5 (11)k=1,n=8分析:由图(9)(11)可见,随着量化比特数的进一步增大,数字化得到的图像并无太大的改变。由以上分析,当量化比特数较大时,图像数字化的效果更佳。综合以上分析:采样间隔越小,量化比特数越大,图像数字化的效果更好。但这只是相对的,当量化比特数达到一定值时即使再增大也并不能如预期地改善数字化效果,同样,采样间隔也会有一个下限值。因此,在实际应用中,应适当设置这两个参数,为了能得到良好的处理效果,同时也避免由于参数设置不当造成的资源的浪费和成本的提高。专心-专注-专业