西安交大数字图像处理第一次作业 下载本文

1灰度级:

(4)结果分析:对一幅 512*512,256 个灰度级的具有较多细节的图像,保持空间分辨率不变,仅将灰度级数依次递减为128、64、32、16、8、4、2,比较得到的结果就可以发现灰度级数对图像的影响。 前四张图灰度级数较高,图像基本看不出什么变化。当灰度级数继续降低,则在灰度缓变区常会出现一些几乎看不出来的非常细的山脊状结构。灰度级数越低,越不能将图像的细节刻画出来。对比实验中处理过的图像,可以发现,虽然都是灰度图,但是灰度范围越大则图像显示出的色彩越丰富。

3.计算lena512图像的均值方差。

(1)问题分析:首先通过imread()函数读入图像文件到灰度矩阵A中,然后利用

mean2()函数和std2()函数计算灰度矩阵(即图像)的均值和标准差,再由标准 差平方得到方差。对应源程序:lena2.m (2)MATLAB函数: mean2()

MATLAB中提供均值计算函数mean()和mean2()。mean2( A ),用于对整一个矩 阵求像素平均值。 调用格式: u=mean2(A) std2()

MATLAB中提供标准差计算函数std()和std2()。 调用格式: s=std2(A)

(3)处理结果:

均值u=95.6564 方差s^2=1.9273e+03

(4)结果分析:经过MATLAB运算,得到图像lena512.bmp的均值约为95.6564,标准差约为43.9012,方差是标准差的平方,约为1927.3。方差越大,图像的对比度越大,可以显示的细节就越多。

4.把lena图像用近邻、双线性和双三次插值法zoom到2048*2048。

(1)问题分析:插值算法是估计在图象像素间的某个位置的像素的取值方法。最近邻点插值法:在待插像素的周围四邻像素中,距离待求插像素最近的像素灰度赋给待插像素。该方法最简单,但校正后存在灰度不连续性,图像有明显锯齿状。双线性插值算法:双线性插值算法输出的图像的每个像素都是原图中四个像素(2×2)运算的结果,这种算法极大地消除了锯齿现象。双三次插值算法: 双三次插值算法是上一种算法的改进算法, 它输出图像的每个像素都是原图16个像素(16×16)运算的结果。这种算法是一种很常见的算法,普遍用在图像编辑软件、打印机驱动和数码相机上。本题先通过imread()函数读入图像文件,然后利用imresize()函数将图像分别利用三种插值方法放大到2048*2048。对应源程序:lena3.m

(2)MATLAB函数:

imresize()函数用于对图像做缩放处理。 调用格式:

B = imresize(A, [numrows numcols],method)

其中,numrows和numcols分别指定目标图像的高度和宽度。 显而易见,由于这 种格式允许图像缩放后长宽比例和源图像长宽比例不相同,因此所产生的图像有可能 发生畸变。

method参数用于指定在改变图像尺寸时所使用的算法,可以为一下几种:

'nearest': 这个参数也是默认的, 即改变图像尺寸时采用最近邻插值算法; 'bilinear':采用双线性插值算法; 'bicubic': 采用双三次插值算法;

(3)处理结果: 原始图像:

最近邻插值法:

双线性插值法:

双三次插值法: