西安交大数字图像处理第二次实验报告.docx
- 文档编号:11758380
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:20
- 大小:3.08MB
西安交大数字图像处理第二次实验报告.docx
《西安交大数字图像处理第二次实验报告.docx》由会员分享,可在线阅读,更多相关《西安交大数字图像处理第二次实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
西安交大数字图像处理第二次实验报告
数字图像处理第二次作业
摘要
本次报告主要记录第二次作业中的各项任务完成情况。
本次作业以Matlab2013为平台,结合matlab函数编程实现对lena.bmp,elain1.bmp图像文件的相关处理:
1.分别得到了lena.bmp512*512图像灰度级逐级递减8-1显示,2.计算得到lena.bmp图像的均值和方差,3.通过近邻、双线性和双三次插值法将lena.bmpzoom到2048*2048,4.把lena和elain图像分别进行水平shear(参数可设置为1.5,或者自行选择)和旋转30度,并采用用近邻、双线性和双三次插值法zoom到2048*2048。
以上任务完成后均得到了预期的结果。
1.把lena512*512图像灰度级逐级递减8-1显示
(1)实验原理:
给定的lena.bmp是一幅8位灰阶的图像,即有256个灰度色。
则K位灰阶图像中某像素的灰度值k(x,y)(以阶色为基准)与原图同像素的灰度值v(x,y)(以256阶色为基准)的对应关系为:
式中floor函数为向下取整操作。
取一确定k值,对原图进行上式运算即得降阶后的k位灰阶图像矩阵。
(2)实验方法
首先通过imread()函数读入lena.bmp得到图像的灰度矩阵I,上式对I矩阵进行灰度降阶运算,最后利用imshow()函数输出显示图像。
对应源程序为img1.m。
(3)处理结果
(4)结果讨论:
由上图可以看出,在灰度级下降到5之前,肉眼几乎感觉不出降阶后图像发生的变化。
但从灰度级4开始,肉眼明显能感觉到图像有稍许的不连续,在灰度缓变区常会出现一些几乎看不出来的非常细的山脊状结构。
随着灰度阶数的继续下降,图像开始出现大片的伪轮廓,灰度级数越低,越不能将图像的细节刻画出来,最终的极端情况是退化为只有黑白两色的二值化图像。
由此可以得出,图像采样的灰度阶数越高,灰度范围越大,细节越丰富,肉眼看去更接近实际情况。
2.计算lena图像的均值方差
(1)实验原理
对分辨率为M*N的灰度图像,其均值和方差分别为:
(2)实验方法
首先通过imread()函数读入图像文件到灰度矩阵I中,然后利用mean2函数和std2函数计算灰度矩阵(即图像)的均值和标准差,再由标准差平方得到方差。
对应源程序:
img1.m
(3)处理结果
均值me=99.0512,标准差st=52.8776,方差sf=2.7960e+03。
(4)结果分析
图像的均值可反应图像整体的明暗程度,而方差可以反应图像整体的对比度情况,方差越大,图像的对比度越大,可以显示的细节就越多。
3.把lena图像用近邻、双线性和双三次插值法zoom到2048*2048;
(1)实验原理
图像插值就是利用已知邻近像素点的灰度值来产生未知像素点的灰度值,以便由原始图像再生出具有更高分辨率的图像。
典型方法包括最近邻、双线性、双三次三种方法。
最邻近插值法就是将待插值点像素的灰度值取为其相对于原图坐标中最邻近像素点的灰度值。
这种方法比较简单,计算速度快,但效果不好,校正后存在灰度不连续性,图像有明显锯齿状,会产生严重的“棋盘格”效应。
双线性插值法是将待插值点像素的灰度值取为其在原图坐标中距离最近的4个像素点灰度值的加权和。
双线性插值法可以比较平滑得对图像进行插值,效果令人满意,但计算速度较最邻近法有所下降。
双三次插值是一种更加复杂的插值方式,通过待插值像素点周围9个点的灰度值,可以结合导数信息列出线性方程组求解系数向量。
双三次插值法较双线性插值法能显示更多的细节,效果更好,但计算开销较大,速度不理想。
(2)实验方法
本题先通过imread函数读入图像文件,然后利用imresize函数将图像分别利用三种插值方法放大到2048*2048。
对应源程:
img1.m
(3)处理结果
分别放大细节后如图:
(4)结果分析
通过放大细节可以看到,经过最邻近插值后的图像产生了“棋盘格”效应,而后两种插值方法得到的图像比较平滑。
4.把lena和elain图像分别进行水平shear(参数可设置为1.5,或者自行选择)和旋转30度,并采用用近邻、双线性和双三次插值法zoom到2048*2048
(1)实验原理
二维仿射变换是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性”和“平行性”,即用图像的矩阵去乘仿射变换的矩阵T,把图像上的像素重新定位到一个新位置,并为这些新位置赋灰度值,而这个过程可以用灰度内插的方法完成。
二维仿射变换可以用一个3×3的矩阵来表示,其最后一行为(001)。
该变换矩阵将原坐标(v,w)变换为新坐标(x,y)。
设仿射矩阵为T,则新坐标与原坐标的关系为:
对于shear水平偏移变换,
根据要求设为1.5
对于旋转变换,
(2)实验方法
使用imrotate函数旋转图像,使用imtransform函数完成一般的二维空间转换。
其语法格式如下:
B=imtransform(A,TFORM,paraml,vall,param2,val2)。
其中TFORM为空间变换结构。
可使用makeform函数或cp2tform函数创建一个TFORM结构,本次实验中使用makeform函数,指定的仿射变换“affine”类型,即进行平移,旋转,比例,拉伸和错切等功能。
对应源程序;img2.m
(3)处理结果
(4)结果分析
三种插值方法中,最近邻内插再次产生了“棋盘格”效应,边缘锯齿化严重,而后两种插值方法得到的图像比较平滑。
双三次内插产生了稍微清晰的结果
附录:
参考文献:
RafaelC.Gonzalez.,etal.数字图像处理(第三版),电子工业出版社,2011.
源代码:
img1.m
I=imread('lena.bmp');
me=mean2(I)
st=std2(I)
sf=st^2
figure
(1)
imshow(I)
title('8灰度级');
[x,y]=size(I);
img7=zeros(x,y);
img6=zeros(x,y);
img5=zeros(x,y);
img4=zeros(x,y);
img3=zeros(x,y);
img2=zeros(x,y);
Img1=zeros(x,y);
fori=1:
x
forj=1:
y
img7(i,j)=floor(I(i,j)/2);
end
end
figure
(2)
imshow(uint8(img7),[0,127])
title('7灰度级');
fori=1:
x
forj=1:
y
img6(i,j)=floor(I(i,j)/4);
end
end
figure(3)
imshow(uint8(img6),[0,63])
title('6灰度级');
fori=1:
x
forj=1:
y
img5(i,j)=floor(I(i,j)/8);
end
end
figure(4)
imshow(uint8(img5),[0,31])
title('5灰度级');
fori=1:
x
forj=1:
y
img4(i,j)=floor(I(i,j)/16);
end
end
figure(5)
imshow(uint8(img4),[0,15])
title('4灰度级');
fori=1:
x
forj=1:
y
img3(i,j)=floor(I(i,j)/32);
end
end
figure(6)
imshow(uint8(img3),[0,7])
title('3灰度级');
fori=1:
x
forj=1:
y
img2(i,j)=floor(I(i,j)/64);
end
end
figure(7)
imshow(uint8(img2),[0,3])
title('2灰度级');
fori=1:
x
forj=1:
y
Img1(i,j)=floor(I(i,j)/128);
end
end
figure(8)
imshow(uint8(Img1),[0,1])
title('1灰度级');
figure(8);
imshow(I);
title('原始图像');
A1=imresize(I,[20482048],'nearest');
figure(9);
imshow(A1);
title('最近邻插值法');
A2=imresize(I,[20482048],'bilinear');
figure(10);
imshow(A2);
title('双线性插值法');
A3=imresize(I,[20482048],'bicubic');
figure(11);
imshow(A3);
title('双三次插值法');
img2.m
transformtype='affine';
transformmatrix=[11.50;010;001];
T=maketform(transformtype,transformmatrix);
I=imread('lena.bmp');
nI=imtransform(I,T);
A1=imresize(nI,[20482048],'nearest');
figure
(1);
imshow(A1);
title('水平偏移最近邻内插');
A2=imresize(nI,[20482048],'bilinear');
figure
(2);
imshow(A2);
title('水平偏移双线性内插');
A3=imresize(nI,[20482048],'bicubic');
figure(3);
imshow(A3);
title('水平偏移双三次内插');
I1=imread('elain1.bmp');
nI1=imtransform(I1,T);
B1=imresize(nI1,[20482048],'nearest');
figure(4);
imshow(B1);
title('水平偏移最近邻内插');
B2=imresize(nI1,[20482048],'bilinear');
figure(5);
imshow(B2);
title('水平偏移双线性内插');
B3=imresize(nI1,[20482048],'bicubic');
figure(6);
imshow(B3);
title('水平偏移双三次内插');
R1=imrotate(I,30,'nearest');
C1=imresize(R1,[20482048],'nearest');
figure(7);
imshow(C1);
title('旋转30度最近邻内插');
R2=imrotate(I,30,'bilinear');
C2=imresize(R2,[20482048],'bilinear');
figure(8);
imshow(C2);
title('旋转30度双线性内插');
R3=imrotate(I,30,'bicubic');
C3=imresize(R3,[20482048],'bicubic');
figure(9);
imshow(C3);
title('旋转30度双三次内插');
r1=imrotate(I1,30,'nearest');
D1=imresize(r1,[20482048],'nearest');
figure(10);
imshow(D1);
title('旋转30度最近邻内插');
r2=imrotate(I1,30,'bilinear');
D2=imresize(r2,[20482048],'bilinear');
figure(11);
imshow(D2);
title('旋转30度双线性内插');
r3=imrotate(I1,30,'bicubic');
D3=imresize(r3,[20482048],'bicubic');
figure(12);
imshow(D3);
title('旋转30度双三次内插');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安 交大 数字图像 处理 第二次 实验 报告