欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字图像处理.docx

    • 资源ID:5727598       资源大小:1.60MB        全文页数:54页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字图像处理.docx

    1、数字图像处理 学生实验报告书实验课程数字图像处理学 院班 级姓 名指导教师年月日 实验一.图像增强1. 实验目的1.图像增强是数字图像处理的基本内容之一,通过该试验了解图像增强的方法。2.图像增强的目的是为了某种应用目的去改善图像质量2. 实验原理2.1.图像增强原理 图像增强方法从增强的作用域出发,可分为空间域增强和频率域增强两种。频率域方法在图像的某个频率域中对变换系数进行处理, 然后通过逆变换获得增强图像。空间域方法对图像进行点运算,是一种既简单又重要的图像处理技术, 它能让用户改变图像上像素点的灰度值, 这样通过点运算处理将产生一幅新图像。2.2.图像增强方法 图像增强方法从增强的作用

    2、域出发可分为空间域增强和频率域增强两种。常见的图像增强方法有:对比度增强法、直方图均衡化、平滑噪声和锐化等。我们在这里选择直方图均衡化。直方图均衡化是将原图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。直方图均衡化算法是图像增强空域法中的最常用、最重要的算法之一。它以概率理论作基础, 运用灰度点运算来实现直方图的变换, 从而达到图像增强的目的。这些方法是不以图像保真为原则的, 它们是通过增强处理设法有选择地突出某些对人或机器分析感兴趣地信息, 抑制一些无用信息, 以提高图像地使有价值。在实际应用中, 应针对不同的图像应采用不同的图像增强方法,或同时采用几种适当的增强算法进行实验,

    3、 从中选出视觉效果较好的、计算不复杂的、又合乎应用要求的一种算法。2.3. 直方图均衡化的原理为了改善图像质量,可以对灰度分布进行变换改变,其中一种方法称为直方图均衡化处理。直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。假定变换函数为式中是积分变量,而T(r)就是r的累积分布函数。这里,累积分布函数是r的函数,并且单调地从0增加到1,所以这个变换函数满足T(r)在0r1内单值单调增加。可以证明,用r的累积分布函数作为变换函数可产生一幅灰度级分布具有均匀概率密度的图像。其结果扩展了像素取值的动态范围。通常把为得到均匀直方图的图像增强技术叫做直方图均衡化处理或直方图线性化处理。用离散

    4、形式表示累积分布函数为: 2.4.直方图均衡化步骤2.4.1 列出原始图像灰度级fj, j=0,1,k,L-1;2.4.2 统计各灰度级的象素数目,nj, j=0,1,k,L-1;2.4.3 计算原始图像直方图Pf(fj)=nj/n,n为原始图像总的象素数目;2.4.4 计算累积分布函数c(f);2.4.5 应用转移函数,计算映射后的灰度级,gi=INT(gmax-gmin)c(f)+gmin+0.52.4.6 统计映射后各灰度级的象素数目ni, i=0,1,p-1;2.4.7 计算输出图像直方图Pg(gi)= nj/n,i=0,1,p-1;2.4.8用fj和gi的映射关系,修改原始图像灰度级

    5、,获得直方图近似均匀分布的输出图像。3. 实验内容3.1.图像直方图: 灰度级直方图是一种统计表达,他反映了该图中的不同灰度级出现的统计概率3.2.计算出一幅灰度图象的直方图; clearclose allI=imread(D:ProgramFilesMATLABR2008atoolboximagesimdemosCameraman.bmp);imhist(I)title(实验一(1) 直方图)3.3.对灰度图像进行简单的灰度线形变换 原图像 f(m,n) 的灰度范围 a, b ; 线形变换为图像g(m,n) , 灰度范围a, b ; 公式: g(m,n)=a+(b-a)* f(m,n) /(

    6、b-a)灰度变换是图像增强的重要方法之一,它不改变图像内的空间关系,可使图像动态范围增大,对比度得到扩展,使图像特征明显,更加清晰。可表示为:根据变换函数的形式,灰度变换分为线性变换,分段性变换和非线性变换。假定图像f(m,n)的灰度范围为a,b,变换后的图像g(m,n)的灰度范围线性的扩展至a,b,其数学表达式如下:clearclose allI=imread(D:Program FilesMATLABR2008atoolboximagesimdemosCameraman.bmp );figuresubplot(2,2,1)imshow(I);title(试验2-灰度线性变换);subplo

    7、t(2,2,2)histeq(I);clearclose allI=imread(D:Program FilesMATLABR2008atoolboximagesimdemosCameraman.bmp );figuresubplot(2,2,1)imshow(I)J=imadjust(I,0.3,0.7,0,1,1);title( 实验一(3)用 g(m,n)=a+(b-a)* f(m,n) /(b-a)进行变换 );subplot(2,2,2)imshow(J)subplot(2,2,3)imshow(I)J=imadjust(I,0.5 0.8,0,1,1);subplot(2,2,4)

    8、imshow(J)3.4. 图像二值化 (选取一个域值,将图像变为黑白图像) figuresubplot(2,2,1)imshow(I)J=find(I=150);I(J)=255;title( 实验一(4)图像二值化 ( 域值为150 ) );subplot(2,2,2)imshow(I)clc;I=imread(14499.jpg);bw=im2bw(I,0.5);%选取阈值为0.5figure;imshow(bw) %显示二值图象35利用直方图均衡化进行图像增强 PS=imread(1.jpg); %读入JPG彩色图像文件imshow(PS) %显示出来 title(输入的彩色JPG图像

    9、)imwrite(rgb2gray(PS),PicSampleGray.bmp); %将彩色图片灰度化并保存PS=rgb2gray(PS);%灰度化后的数据存入数组%二,绘制直方图m,n=size(PS); %测量图像尺寸参数GP=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255GP(k+1)=length(find(PS=k)/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置endfigure,bar(0:255,GP,g)%绘制直方图title(原图像直方图)xlabel(灰度值)ylabel(出现概率)%三,直方图均衡化S1=zeros(1,

    10、256);for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk endendS2=round(S1*256)+0.5); %将Sk归到相近级的灰度for i=1:256GPeq(i)=sum(GP(find(S2=i); %计算现有每个灰度级出现的概率endfigure,bar(0:255,GPeq,b) %显示均衡化后的直方图title(均衡化后的直方图)xlabel(灰度值)ylabel(出现概率)%四,图像均衡化PA=PS;for i=0:255 PA(find(PS=i)=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素endfigur

    11、e,imshow(PA) %显示均衡化后的图像 title(均衡化后图像)imwrite(PA,PicEqual.bmp); 实验图像: Cameraman.bmp、四实验结果及分析 在曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内。这时在显示器上看到的将是一个模糊不清、似乎没有灰度层次的图像。采用线性变换对图像每一个像素灰度作线性拉伸,可有效地改善图像视觉效果。这种线性变换使灰度小于a和灰度大于b的像素灰度强度强行变换成a 和b,增强了图像中绝大多数像素的灰度层次感。. 实验二:图像变换1.实验目的1.1傅立叶变换:熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变

    12、换后的系数(幅度)分布;1.2DCT变换:熟悉其概念和原理,实现对一幅图像做离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换 ;2.实验原理2.1.离散傅立叶变换傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。图象是由灰度(RGB)组成的二维离散数据矩阵,则对它进行傅立叶变换是离散的傅立叶变换。对图像数据f(x,y)(x=0,1, ,-1; y=0,1, ,N

    13、-1)。则其离散傅立叶变换定义可表示为:式中,u=0,1, M-1;v= 0,1, N-1其逆变换为式中,x=0,1, M-1;y= 0,1, N-1 在图象处理中,一般总是选择方形数据,即 影像f(x,y)的振幅谱或傅立叶频谱:相位谱:能量谱(功率谱)2.2.快速傅里叶变化可分离性的优点是二维的傅立叶变换或逆变换由两个连续的一维傅立叶变换变换来实现,对于一个影像f(x,y),可以先沿着其每一列求一维傅立叶变换,再对其每一行再求一维变换正变化逆变换由于二维的傅立叶变换具有可分离性,故只讨论一维快速傅立叶变换.正变换 逆变换由于计算机进行运算的时间主要取决于所用的乘法的次数。按照上式进行一维离散

    14、由空间域向频率域傅立叶变换时,对于N个F(u)值,中的每一个都要进行N次运算,运算时间与N2成正比。3.实验内容及结果分析 3.1傅立叶变换 步骤如下:clcI=imread( D:Program FilesMATLABR2008atoolboximagesimdemoslena.bmp );subplot(2,2,1)imshow(I);title(原图);J=fft2(I);subplot(2,2,2)imshow(J);title(fft变换图);%figure;K=fftshift(J);subplot(2,2,3)imshow(K);title(原点移至频谱中心);%figure;结

    15、果如下: 3.2离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.步骤如下:clcload imdemos;i=imread( D:Program FilesMATLABR2008atoolboximagesimdemoslena.bmp);subplot(2,2,1);imshow(i);title(原始图象);j=rgb2gray(i);subplot(2,2,2);imshow(j);title(黑白化后的图像);% 图象的DCT变换b=dct2(j);subplot(2,2,3) imshow(log(abs(b),)

    16、,colormap(jet(64),colorbar;title(DCT变换结果);%figure;b(abs(b)10)=0;% idctc=idct2(b)/255;subplot(2,2,4)imshow(c);title(IDCT变换结果);结果如下:4.实验小结DFT是离散傅里叶变换,针对的是离散的信号和频谱。DFT是DTFT变化而来,其实就是将连续时间t变成了nT. 为什么要这样做呢,因为计算机是在数字环境下工作的,它不可能看见或者处理现实中连续的信号,只能够进行离散计算,在真实性上尽可能地逼近连续信号。所以DFT是为了我们能够去用工具分析信号而创造出来的,通常我们直接用DTFT的

    17、机会很少。DCT是DFT的一种形式。所谓“余弦变换”,是在DTFT傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化(DFT)可导出余弦变换,因此称之为离散余弦变换(DCT)。其实DCT属于DFT的一个子集。通过dct反变换重构的图像,看上去有点模糊,失真明显。实验三:图像分割1实验目的1.1学习边缘检测,及如何对图像进行分割。1.2学习运用双峰法对图像进行分割,分析理解分割的含义。2.实验内容学习边缘检测,学习灰度阀值分割。分别用sobel、Laplacian-Gaussian方法对一幅灰度图像进行边缘提取,具体程序如下: clear close a

    18、ll i=imread(D:ProgramFilesMATLABR2008atoolboximagesimdemoslena.bmp); ii=rgb2gray(i); figure;subplot(2,2,1); imshow(ii);title(原始图像); subplot(2,2,3); imshow(ii); title(原始图像); i1=edge(ii,sobel); subplot(2,2,2); imshow(i1); title(sober方法提取的边缘); i2=edge(ii,log); subplot(2,2,4); imshow(i2); title(Laplacia

    19、n-Gaussian方法提取的边缘);clearclose alli=imread( D:ProgramFilesMATLABR2008atoolboximagesimdemoslena.bmp);ii=rgb2gray(i);subplot(1,2,1);imhist(ii);title(原始图像直方图);thread=130/255;subplot(1,2,2);i3=im2bw(ii,thread);imshow(i3);title(分割结果);4实验小结通过这次试验,我理解了图像分割的技术,理解了一些图像分割的思想和理念。主要就是对像素的一些分析和分类。根据原图像的直方图,发现背景和目

    20、标的分割值大约在130左右,并将灰度图像转为二值图像,分割效果比较理想。由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量Laplace算子首先通过高斯函数对图像进行平滑处理, 因此对噪声的抑制作用比较明显, 但同时也可能将原有的边缘也平滑了, 造成某些边缘无法检测到,。此外高斯分布因子的选择对图像边缘检测效果有较大的影响。越大, 检测到的图像细节越丰富, 但抗噪能力下降, 从而出现伪边缘, 反之则抗噪能力提高, 但边缘检测精度下降

    21、, 易丢失许多真边缘, 因此, 对于不同图像应选择不同参数。实验四:实现JPEG的压缩和编码 1.实验目的 实现基本JPEG 的压缩和matlab编码 2实验原理:分块采样:JPEG压缩首先是对图像(实验中用的是灰度图像)的每一帧中各分量信号进行单独采样。采样时,当一帧图像信号输入到编码器时,编码器立即将其进行分解处理,这称为帧改组。在帧改组中,首先得到16*16个采样点的宏区块,然后再得到8*8个采样点的像块。FDCT变换:经过帧重组和采样,视频图像的各分量信号变为一个8*8的样值矩阵,再经过离散余弦变换。它是一种傅里叶变换,任何连续的实对称函数,采用傅里叶变换后,就只含余弦项。量化:经过D

    22、CT变换后的F矩阵中的各DCT系数间的相关性已经显现出来,即左上角的系数值大,而右下角的系数值小。这样,进行量化后,增加右下角的“0”值系数,从而进一步提高F矩阵的相关性,为数据压缩进一步提供了条件。这种量化也就是按照某种要求将F矩阵中的各系数值按不同的比例减小,显然量化是图像质量下降的最主要原因。Zig-Zag扫描:Zig-Zag扫描采用的是Z字形扫描方式,这主要是因为,在量化后的DCT系数矩阵中,非0的数据主要都集中于矩阵的左上角。 哈夫曼编码(Huffman Coding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。uffman于1952年提出一种编码方法,该方法完全依据字

    23、符出现概率来构造异字头的平均长 度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码。哈夫曼压缩是个无损的压缩算法,一般用来压缩文本和程序文件。哈夫曼压缩属于可变代码长度算法一族。意思是个体符号(例如,文本文件中的字符)用一个特定长度的位序列替代。因此,在文件中出现频率高的符号,使用短的位序列,而那些很少出现的符号,则用较长的位序列。3.实验内容:2.1实现基本JPEG的压缩和编码分三个步骤:2.1.1 首先通过DCT变换去除数据冗余;2.1.2 使用量化表对DCT系数进行量化;2.1.3 对量化后的系数进行Huffman编码。2.2.具体源程序由主程序及五个子程序(zigza扫描、

    24、DC和ACT量化、Huffman编码)组成:1主程序I=imread(D:Program FilesMATLABR2008atoolboximagesimdemoslena.bmp);yiq=rgb2ntsc(I); % transform RGB to NTSCmy=16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 57 69 56;14 17 22 29 51 87 80 62;18 22 37 56 68 109 103 77;24 35 55 64 81 104 113 92;49 64 78 87 103 1

    25、21 120 101;72 92 95 98 112 100 103 99;miq=17 18 24 47 99 99 99 99;18 21 26 66 99 99 99 99;24 26 56 99 99 99 99 99;47 66 99 99 99 99 99 99;99 99 99 99 99 99 99 99;99 99 99 99 99 99 99 99;99 99 99 99 99 99 99 99;99 99 99 99 99 99 99 99;C= dctmtx(8);%生成标准DCT变化中的矩阵(88)。 .DCT变换公式: 正变换:Y=CPC;逆变换:P=CYC; I1

    26、=yiq(:, :, 1);%亮度信号I2=yiq(:, :, 2);%色差信号m n=size(I1);%形成ti1*ti2个8*8块t1=8;ti1=1;while (t1(m+8)t1=t1+8;ti1=ti1+1;endt2=8;ti2=1;while (t2(n+8)t2=t2+8;ti2=ti2+1;end time_s=0;for k=0:ti1-2 for j=0:ti2-2 P1=I1(k*8+1:k*8+8,j*8+1:j*8+8); I1_1(k*8+1:k*8+8,j*8+1:j*8+8)=dct8x8(P1,my);%亮度信号分块量化 P2=I2(k*8+1:k*8+

    27、8,j*8+1:j*8+8); I2_1(k*8+1:k*8+8,j*8+1:j*8+8)=dct8x8(P2,miq);%色差信号分块量化 time_s=time_s+1; endendI1_1I2_1my_I=AC_DC(I1_1)%亮度信号的编码序列miq_I=AC_DC(I2_1)%色差信号的编码序列2Dct8x8子程序function I=dct8x8(P,m) %定义DCT量化子程序 C= dctmtx(8);%生成标准DCT变化中的矩阵(88)。 .DCT变换公式: 正变换:Y=CPC;逆变换:P=CYC; K=C*P*C; K=K./m;%量化 K(abs(K)0.03)=0;

    28、 I=K;3.AC和DCfunction ImageBitSeq=AC_DC(CoefAfterQ) Row,Col=size(CoefAfterQ);BlockNumber=Row*Col/64;%8*8分块数% 把CoefAfterQ分成8*8的块得分块矩阵CoefBlock(三维)m=0;for row=1:Row/8 for col=1:Col/8 m=m+1; CoefBlock(:,:,m)=CoefAfterQ(row-1)*8+1):(row*8),(col-1)*8+1):(col*8); end endm;% 把量化后各个分块的DC系数存放到行矩阵DC中DC(m)=0;for i=1:m DC(i)=CoefBlock(1,1,i);endDC;% 求由各个DC系数的差值组成的行矩阵DCdifDCdif(BlockNumber)=0;DCdif(1)=DC(1);for i=2:BlockNumber DCdif(i)=DC(i)-DC(i-1);endDCdif;% 用行矩阵DCdif中的差值替换原来系数矩阵CoefBlock中各个分块的DC系数m=0;for i=1:Row/8 for j=1:Col/8 m=m+1; CoefBlock(1


    注意事项

    本文(数字图像处理.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开