数字图像处理 作业1_第1页
数字图像处理 作业1_第2页
数字图像处理 作业1_第3页
数字图像处理 作业1_第4页
数字图像处理 作业1_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字图像处理报告标题:01 报告编号: 课程编号: 学生姓名: 截止日期: 上交日期:摘要(1)编写函数计算灰度图像的均方误差(MSE)、信噪比(SNR)、峰值信噪比(PSNR)、平均绝对误差(MAE);(2)编写函数对灰度图像经行降采样,直接消除像素以及消除像素前进行简单平滑滤波;(3)编写函数对图像进行放大,分别使用像素直接复制和双线性插值的方法:(4)编写函数用题目给出的量化步骤Q去量化灰度图像,并给出相应的MSE和直方图;(5)编写函数对灰度图像执行直方图均衡化,显示均衡前后的直方图。同时,熟悉使用MATLAB,并且熟练操作对图像进行各种修改变换等。KEY WORD :MATLAB M

2、SE、PSNR 直方图量化技术探讨 数字图像处理是基于Matlab来实现的,由于Matlab 独特的功能和对矩阵,图像,函数灵活的处理,因而用于图像的处理相当的方便。task1 均方误差(MSE),信噪比(SNR),峰值信噪比(PSNR),平均绝对误差(MAE)。可以使用使用for循环语句,分别计算图像MSE/SNR/PSNR/MAE,具体的计算公式见附录代码,下面只附运算原理代码均方误差(MSE): sum=sum+(a(i,j)-b(i,j)2; MSE=sum/(M*N) 信噪比(SNR): sum2=sum2+a(i,j)2; SNR=10*log10(sum2/MSE) 峰值信噪比(

3、PSNR):sum=sum+(a(i,j)-b(i,j)2; PSNR=10*log10(2552/MSE) 平均绝对误差(MAE): sum=sum+a(i,j)+b(i,j); MAE=sum/(M*N) 在每次对同一个图像处理时它们的均方误差(MSE),信噪比(SNR),峰值信噪比(PSNR),平均绝对误差(MAE)都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。task3按比例缩小灰度图像(1)直接消除像素点:I1=g(1:m:end,1:m:end);I1 为缩小后的图像,g为原图。(2)先平滑滤波再消除像素点:滤波函数,g=imfilter

4、(I,w,'corr','replicate');task4对图像的放大运用了pixel repetition法以及双线性插值法:它有三种插值法:即最近邻插值(pixel repetition)、双线性插值、双三次插值(缩放倍数为0.5) ;缩放与放大由给定的参数来确定。;缩放与放大由给定的参数来确定。而缩小则同样适用I1=g(1:m:end,1:m:end); 而放大的代码为“J=imresize(I,m,'nearest');%使用pixel repetition法” 和 “J=imresize(I,m,'bilinear')

5、;%使用双线性插值法 ”放大倍数更改m值即可task4对图像的量化,使用“J=histeq(I,x); ”,x为可变的量化步长task5 灰度图像的量化和直方图均衡化直接调用函数。“J=histeq(I)”“imhist(I,64)”结果:图像的结果Task1 mse =0.0426psnr =61.8377SNR =68.5982MAE =262.2853mse =0.0443psnr =61.6711SNR =73.3907MAE =262.2102处理给定的测试图像“Lena”, 以其原始的形式和加过噪声之后的形式。(用其他图像代替)Task2编写MATLAB函数通过两种不同的方法抽取一

6、幅灰度图像从原来的大小到给定的输出尺寸: (用其他图像代替)处理给定的测试图像“Living Room” ,按给定比例系数缩小:2:1, 4:1, 8:1,16:1(a)直接消除像素(b)消除像素前进行初步的图像滤波)Task3编写MATLAB函数通过两种不同的方法放大一幅灰度图像从原来的大小到给定的输出尺寸 (a)像素重复(b)双线性插值内插用上述方法将Task 2放大回原尺寸并对使用MATLAB方法对原图像以及放大后的图像计算均方误差和峰值信噪比(a)像素重复2:1 时MSE = 2.6753e+003 PSNR = 13.85714:1 时MSE = 2.4600e+003 PSNR =

7、 14.22148:1 时MSE = 2.4696e+003 PSNR = 14.204516:1 时MSE = 2.0887e+003 PSNR = 14.9321(b)双线性插值内插2:1 时MSE = 3.3733e+003 PSNR =12.85034:1 时MSE =2.6291e+003 PSNR =13.93278:1 时MSE =2.4658e+003 PSNR =14.211316:1 时MSE =2.4248e+003 PSNR =14.2840在相同尺寸减少率下,确定哪些组合缩小/放大的方法能提供最小均方误差以及最大峰值信噪比最小均方误差最大最大峰值信噪比 (a)像素重复

8、 16:1 时MSE = 2.0887e+003 PSNR = 14.9321(b)双线性插值内插16:1 时MSE =2.4248e+003 PSNR =14.2840Task4编写MATLAB函数以量化步长Q来量化(数字转换)灰度图像。以量化步长Q=2, 4, 8 16, 32, 64, 128 处理给定的测试图像“Lena”(用其他图像代替)不同量化步长Q量化后的图像的对比对每一个量化步长显示量化的图像以及它相应的直方图。显示测试图像及其直方图。 量化后的图像的直方图对比Q=4Q=2Q=16Q=8Q=64Q=32Q=128对Task 1用MATLAB编写的方法计算原始以及量化(数字转换)

9、图像的均方误差Q=2 时 MSE=8.6904e+003Q=4时 MSE=6.7394e+003Q=8时 MSE=5.3419e+003Q=16时 MSE=4.8395e+003Q=32时 MSE=4.7529e+003Q=64时 MSE=4.7060e+003Q=128时MSE=4.6526e+003Task5编写MATLAB函数对图像“ Fig0316(1)(top_left)” 和图像“ Fig0316(4)(bottom_left) ”分别地进行直方图均衡,并在直方图均衡前后显示图像的直方图(用其他图像代替)结果探讨Task1在每次对同一个图像处理时它们的均方误差(MSE),信噪比(S

10、NR),峰值信噪比(PSNR),平均绝对误差(MAE)都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。给原图像加入高斯噪音,则可看出SNR与PSNR的变化,因为其实评价噪声的;MSE可以评价数据的变化程度,MSE的值越小,说明数据具有更好的精确度。MAE是将各次测量的绝对误差取绝对值后再求平均值。Task2对原图像直接消除像素的降采样和经过平滑滤波后得到的降采样采样对比来看,经过平滑滤波后,图像模糊一些,但灰度值变化更加平滑,整体效果好于直接消除像素Task3pixel repetition(像素重复)和双线性插值法对图像的缩放,其处理效果相近,但从M

11、SE和PSNR值来看,双线性插值法更好。但运算时间较长将缩小后的图像再放大,还原效果都较好Task4可以看出,对图像进行量化后,随着量化步长越大,图像越接近原图;当Q=2时,图像几乎全白,而直方图灰度值也极端的集中在0和250两个值上。随着量化步长增加,图像细节几个方面均有明显转变,而直方图灰度值也逐渐向着整个灰度级数覆盖,最后集中于10到250之间Task5第一幅图,绘制其直方图可以看到直方图灰度值主要集中在100到150之间,均衡化后灰度值覆盖整个灰度级数。第二幅图图相比相对亮一些,绘制其直方图可以看到直方图灰度值主要集中在60到120以及200到250之间,均衡化后灰度值覆盖整个灰度级数

12、。附录:程序列表第一题: 均方误差(MSE): sum=sum+(a(i,j)-b(i,j)2; MSE=sum/(M*N) 峰值信噪比(PSNR) sum=sum+(a(i,j)-b(i,j)2; PSNR=10*log10(2552/MSE) 计算MSE; PSNR;clear all;close all;I=imread('C:UsersDark SeleeDesktopbbpg'); %录入图像figure(1),imshow(I);X=rgb2gray(I); %将真彩色图像转换为灰度图像。height width=size(X);X=im2double(X);A=i

13、mnoise(X,'gaussian',0,0.05); %加高斯噪声figure(2),imshow(A);%利用两组for循环,即可实现计算sigma1=0;for i=1:height for j=1:width sigma1=sigma1+(X(i,j)-A(i,j)2; endendmse=(sigma1/(height*width) %均方误差psnr=10*log10(2552)/mse) %峰值信噪比信噪比(SNR)sum2=sum2+a(i,j)2; SNR=10*log10(sum2/MSE)计算SNR; clear all;close all;J=imno

14、ise(I,'gaussian'); %加噪声a=double(I); b=double(J); M,N=size(I);sum=0; %先计算出MSEfor i=1:M; for j=1:N; sum=sum+(a(i,j)-b(i,j)2; end;end; MSE=sum/(M*N) sum2=0; %同上,利用两组for循环,即可实现计算for i=1:M; for j=1:N; sum2=sum2+a(i,j)2; end; end; SNR=10*log10(sum2/MSE) 平均绝对误差(MAE)sum=sum+a(i,j)+b(i,j); MAE=sum/(M

15、*N)计算MAE; J=imnoise(I,'gaussian'); %加噪声a=double(I); b=double(J); M,N=size(I);sum=0; for i=1:M; for j=1:N; sum=sum+a(i,j)+b(i,j); end; end; MAE=sum/(M*N) 处理给定的测试图像, 以其原始的形式和加过噪声之后的形式clear all;close all;I=imread('C:UsersDark SeleeDesktopaa.jpg'); %读入图像figure(1),imshow(I);X=rgb2gray(I);

16、 %将真彩色图像转换为灰度图像。height width=size(X);X=im2double(X);A=imnoise(X,'gaussian',0,0.05); %加高斯噪声figure(2),imshow(A); %显示图像第二题直接消除像素点 X=imread('C:UsersDark SeleeDesktopbb.jpg'); %读图像I=rgb2gray(X);figure(2); m=imfilter(I,w,'corr','replicate'); subplot(3,2,1); imshow(I); title

17、('原图') subplot(3,2,3); M=g(1:2:end,1:2:end); % 以2:1的比例缩小 Mimshow(I1); title('2:1 图') subplot(3,2,4); M2=m(1:4:end,1:4:end); %以4:1的比例缩imshow(I2); title('4:1 图') subplot(3,2,5); M3=m(1:8:end,1:8:end); %以8:1的比例缩小imshow(I3); title('8:1 图') subplot(3,2,6); M4=m(1:16:end,1:

18、16:end); %以16:1的比例缩小imshow(I4); title('16:1图')先滤波再消除像素点 X=imread('C:UsersDark SeleeDesktopbb.jpg'); %读图像I=rgb2gray(X);figure(2); m=1 1 1;1 1 1;1 1 1/9; %为领域平均模板,为缩小做处理g=imfilter(I,w,'corr','replicate'); %对原图像进行平滑滤波处理 subplot(3,2,1); imshow(I); subplot(3,2,2); imshow(g

19、); title('滤波后的图)subplot(3,2,3); M1=m(1:2:end,1:2:end); % 以2:1的比例缩小 imshow(I1); title('2:1 图') subplot(3,2,4); M2=m(1:4:end,1:4:end); %以4:1的比例缩小 imshow(I2); title('4:1 图') subplot(3,2,5); M3=m(1:8:end,1:8:end); %以8:1的比例缩小 imshow(I3); title('8:1 图')subplot(3,2,6); M4=m(1:16

20、:end,1:16:end); %以16:1的比例缩小 imshow(I4); title('16:1 图')第三题pixel repetition法2:1的图像处理 A=imread(' C:UsersDark SeleeDesktopbb.jpg '); %读图像I=rgb2gray(A);figure(1); IM=I(1:2:end, 1:2:end); subplot(1,3,1); imshow(I); title('原图像'); subplot(1,3,2); imshow(IM); title('按2:1缩小的图像'

21、;);J=imresize(I,2,'nearest'); %使用pixel repetition法 subplot(1,3,3); imshow(J); title('按1:2放大的图像'); %负责运算MSE与PSNR的函数,与第一题代码一致a=double(I); b=double(J); M,N=size(I); sum=0; for i=1:M; for j=1:N; sum=sum+(a(i,j)-b(i,j)2; end;end;MSE=sum/(M*N) PSNR=10*log10(2552/MSE)双线性插值法 2:1的图像处理 A=imrea

22、d(' C:UsersDark SeleeDesktopbb.jpg '); %读图像I=rgb2gray(A);figure(1); IM=I(1:2:end, 1:2:end); subplot(1,3,1); imshow(I); title('原图像'); subplot(1,3,2); imshow(IM); title('按2:1缩小的图像');J=imresize(I,2,'bilinear'); %使用双线性插值法 subplot(1,3,3); imshow(J); title('按1:2放大的图像

23、9;); %负责运算MSE与PSNR的函数,与第一题代码一致a=double(IM); b=double(J); M,N=size(I); sum=0; for i=1:M; for j=1:N; sum=sum+(a(i,j)-b(i,j)2; end;end;MSE=sum/(M*N) PSNR=10*log10(2552/MSE)两题的4:1 、8:1 、16:1的图像处理的代码基本与2:1的一致,只是将“1=I(1:2:end,1:2:end); J=imresize(I,2,'bilinear'); ”分别替换为“IM= (1:4:end,1:4:end); J=im

24、resize(I,4,'bilinear'); ”“I M = (1:8:end,1:8:end); J=imresize(I,8,'bilinear'); ”“1 M =I(1:16:end,1:16:end); J=imresize(I,16,'bilinear'); ”即可第四题Q=2clear all;close all;A=imread('C:UsersDark SeleeDesktopdd.jpg'); %读图像I=rgb2gray(A);figure; J=histeq(I,2); subplot(2,2,1); i

25、mshow(I); title('原始图像') subplot(2,2,2); imhist(I); title('原始图像直方图') subplot(2,2,3); imshow(J); title('量化后图像') subplot(2,2,4); imhist(J); title('量化后图像直方图') %计算MSE的代码,与第一题一致 M,N=size(I); a=double(I); b=double(J); sum=0; for i=1:M; for j=1:N; sum=sum+(a(i,j)-b(i,j)2; end; end; MSE=sum/(M*N)Q=4 、Q=8 、Q=16、 Q=32 、Q=64 、Q=128的图像处理的代码基本Q=2的一致,只是将“J=histeq(I,2);”分别替换为“J=histeq(I,4);”“J=histeq(I,8);”“J=histeq(I,16);”“J=histeq(I,32);”“J=histeq(I,64);”即可(下代码仅用作方便显示对比B=histeq(A,2); B1=imhist(B); C=histeq(A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论