数字图像处理作业

发布 2022-07-18 20:28:28 阅读 1966

学院:专业班。姓名:

学号:摘要。

matlab全称是matrix laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际上matlab中的绝大多数的运算都是通过矩阵这一形式进行的。这一特点也就决定了matlab在处理数字图像上的独特优势。

理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成m×n样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而matlab的长处就是处理矩阵运算,因此用matlab处理数字图像非常的方便。

matlab支持五种图像类型,即索引图像、灰度图像、二值图像、rgb图像和多帧图像阵列;支持bmp、gif、hdf、jpeg、pcx、png、tiff、xwd、cur、ico等图像文件格式的读、写和显示。matlab对图像的处理功能主要集中在它的图像处理工具箱(image processing toolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。

一、matlab中图像文件的读/写。

imread

imread函数用于读入各种图像文件,其一般的用法为。

x,map]=imread( ‘filename’, fmt’)

其中,x为读出的图像数据,map为颜色表数据(或称调色板,亦即颜色索引矩阵,对灰度图像和rgb彩色图像,该map为空矩阵),fmt为图像的格式(可以缺省),filename为读取的图像文件(可以加上文件的路径)。

例:[x,map]=imread(‘ tif’)

二、matlab中图像文件的显示。

matlab图像处理工具箱提供了imshow函数来显示各种图像,其语法如下:

imshow(i, n)

或imshow(i_bw);imshow(x, map);imshow(i_rgb)

其中imshow(i, n)用于显示灰度图像,i是图像数据矩阵,n为灰度级数目(n可缺省,缺省值为256)。其它的分别用于显示二值图像、索引色图像和rgb真彩色图像。另外,对rgb彩色图像,还可以用imshow( rgb(:

,1) )imshow( rgb(:,2) )imshow( rgb(:,3) )分别显示rgb图像的r、g、b三个分量(注意:

这样显示出的图像是以各分量值为对应的灰度值所显示的灰度图像)。

需要显示多幅图像时,可以使用figure语句,它的功能就是打开一个新的图像显示窗口。也可以使用subplot函数将多幅图像显示在同一个图像显示窗口的不同区域位置。

三、对比度调整。

如果原图像f(x, y)的灰度范围是[m, m],我们希望对图像的灰度范围进行线性调整,调整后的图像g(x, y)的灰度范围是[n, n],那么下述变换:

就可以实现这一要求。

matlab图像处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度调整。imadjust函数的语法格式为:

j = imadjust(i,[low_in high_in], low_out high_out])

j = imadjust(i, [low_in high_in], low_out high_out])返回原图像i经过对比度调整后的新图像j。其中[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以用 [ 空矩阵表示默认范围,默认值为[0, 1](注意:灰度范围只能在0~1之间)。

四、均值滤波。

均值滤波是在空间域对图像进行平滑处理的一种方法,易于实现,效果也挺好。

设噪声η(m,n)是加性噪声,其均值为0,方差(噪声功率)为σ2,而且噪声与图像f(m,n)不相关。其有噪声的图像f’(m, n)为:

经均值滤波处理后的图像g(m, n)为:

其中s是(m, n)点的领域内的点集。

除了对噪声有上述假定之外,该算法还基于这样一种假设:图像是由许多灰度值相近的小块组成。这个假设大体上反映了许多图像的结构特征。

(4.2)式表达的算法是由某像素领域内各点灰度值的平均值来代替该像素原来的灰度值。

可用模块反映领域平均算法的特征。对于四点领域和八点领域,可分别由下述摸板表征:

模版沿水平和垂直两个方向逐点移动,相当于用这样一个模块与图像进行卷积运算,从而平滑了整幅图像。模版内各系数和为1,用这样的模版处理常数图像时,图像没有变化;对一般图像处理后,整幅图像灰度的平均值可不变。

五、中值滤波。

中值滤波是一种非线性处理技术,能抑制图像中的噪声。它是基于图像的这样一种特性:噪声往往以孤立的点的形式出现,这些点对应的象素很少,而图像则是由像素数较多、面积较大的小块构成。

在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的中值代替。例如若窗口长度为5,窗口中像素的灰度值为,则中值为110,因为按小到大(或大到小)排序后,第三位的值是110。

于是原理的窗口正中的灰度值200就由110取代。如果200是一个噪声的尖峰,则将被滤除。然而,如果它是一个信号,则滤波后就被消除,降低了分辨率。

因此中值滤波在某些情况下抑制噪声,而在另一些情况下却会抑制信号。

中值滤波很容易推广到二维的情况。二维窗口的形式可以是正方形、近似圆形的或十字形的。在图像增强的具体应用中,中值滤波只能是一种抑制噪声的特殊工具,在处理中应监视其效果,以决定最终是否采用这种方案。

实施过程中的关键问题是**一些快速算法。

matlab中提供了卷积运算的函数命令conv2,其语法格式为:

c = conv2(a, b)

c = conv2(a, b)返回矩阵a和b的二维卷积c。若a为ma×na的矩阵,b为mb×nb的矩阵,则c的大小为(ma+mb+1)×(na+nb+1)。

程序:i = imread('e:\路飞。tif');

imshow(i); title('原图像')

j = imadjust(i, [0.3 0.7输出灰度范围为默认范围,即为[0, 1]

figure, imshow(j);title('对比度调整')

j=imnoise(i, 'salt & pepper', 0.02);

h=fspecial('**erage', 3);

i2 = imfilter(j, h);

subplot(1,3,1), imshow(i), title('原图像');

subplot(1,3,2), imshow(j), title('加噪声图像');

subplot(1,3,3), imshow(i2, [title('均值滤波后图像');

k=imnoise(i, 'gaussian', 0.02);

i2 = imfilter(k, h);

subplot(1,3,1), imshow(i), title('原图像');

subplot(1,3,2), imshow(j), title('加噪声图像');

subplot(1,3,3), imshow(i2), title('中值滤波后图像');

数字图像处理作业

2017暑假小学期。专业。班级。姓名。学号。摘要 数字图像处理的目的是改善 质量,利用matlab设计几个简单的图像处理程序。该程序具备图像处理的日常功能 图像代数与几何运算 直方图与图像明暗关系分析 直方图均衡化 滤波器的使用与图像分割技术。通过运行 解释结合图像效果,分别介绍了处理原理与过程。关...

数字图像处理作业

图1是一张因拍摄时晃动而产生模糊的图像,试估计其psf并恢复图像。题中已明确此图是由于运动导致的模糊,所以采取课件上标准的恢复方法。首先,对 进行laplace滤波,是为了凸显图像中的高频部分,而后对图像进行radon变换以求出运动模糊的角度,由于角度标准和方向问题,需要将求出的角度减去90 也即。...

数字图像处理作业

数字图像处理上机实验题。一 基础部分。1.产生右图所示图像 f1 m,n 其中图像大小为256 256,中间亮条为128 32,暗处 0,亮处 100。对其进行fft 1 同屏显示原图f1 m,n 和fft f1 的幅度谱图 2 若令f2 m,n 1 m n f1 m,n 重复以上过程,比较二者幅度...