数字图像处理第四章作业.docx

上传人:b****8 文档编号:28177946 上传时间:2023-07-09 格式:DOCX 页数:14 大小:744.79KB
下载 相关 举报
数字图像处理第四章作业.docx_第1页
第1页 / 共14页
数字图像处理第四章作业.docx_第2页
第2页 / 共14页
数字图像处理第四章作业.docx_第3页
第3页 / 共14页
数字图像处理第四章作业.docx_第4页
第4页 / 共14页
数字图像处理第四章作业.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数字图像处理第四章作业.docx

《数字图像处理第四章作业.docx》由会员分享,可在线阅读,更多相关《数字图像处理第四章作业.docx(14页珍藏版)》请在冰豆网上搜索。

数字图像处理第四章作业.docx

数字图像处理第四章作业

第四章图像增强

1.简述直方图均衡化处理的原理和目的。

拍摄一幅较暗的图像,用直方图均衡化方法处理,分析结果。

原理:

直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

也就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。

把给定图像的直方图分布改变成“均匀”分布直方图分布

目的:

直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

它通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。

通过直方图均衡化,亮度可以更好地在直方图上分布。

这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

Matlab程序如下:

clc;

RGB=imread('wxf.jpg');%输入彩色图像,得到三维数组

R=RGB(:

:

1);%分别取三维数组的一维,得到红绿蓝三个分量

G=RGB(:

:

2);%为RGB。

B=RGB(:

:

3);

figure

(1)

imshow(RGB);%绘制各分量的图像及其直方图

title('原始真彩色图像');

figure

(2)

subplot(3,2,1),imshow(R);

title('真彩色图像的红色分量');

subplot(3,2,2),imhist(R);

title('真彩色图像的红色分量直方图');

subplot(3,2,3),imshow(G);

title('真彩色图像的绿色分量');

subplot(3,2,4),imhist(G);

title('的绿色分量直方图');

subplot(3,2,5),imshow(B);

title('真彩色图像的蓝色分量');

subplot(3,2,6),imhist(B);

title('真彩色图像的蓝色分量直方图');

r=histeq(R);%对个分量直方图均衡化,得到个分量均衡化图像

g=histeq(G);

b=histeq(B);

figure(3),

subplot(3,2,1),imshow(r);

title('红色分量均衡化后图像');

subplot(3,2,2),imhist(r);

title('红色分量均衡化后图像直方图');

subplot(3,2,3),imshow(g);

title('绿色分量均衡化后图像');

subplot(3,2,4),imhist(g);

title('绿色分量均衡化后图像直方图');

subplot(3,2,5),imshow(b);

title('蓝色分量均衡化后图像');

subplot(3,2,6),imhist(b);

title('蓝色分量均衡化后图像直方图');

figure(4),%通过均衡化后的图像还原输出原图像

newimg=cat(3,r,g,b);%

imshow(newimg,[]);

title('均衡化后分量图像还原输出原图');

程序运行结果:

图1.1原始图像与均衡化后还原输出图像对比

通过matlab仿真,由图1.1比较均衡化后的还原图像与输入原始真彩色图像,输出图像轮廓更清晰,亮度明显增强。

图1.2真彩色图像各颜色分量图及其直方图

图1.3各分量均衡化后的图像及其直方图

由图1.2和图1.3所显示的红绿蓝各颜色分量均衡化前后的图像直方图对比可得:

经变换后得到的新直方图虽然不很平坦,但比原始图像的直方图平坦的多,而且其动态范围也大大地扩展了。

因此,这种方法对于对比度较弱的图像进行处理是很有效的。

因为直方图是近似的概率密度函数,所以用离散灰度级作变换一般得不到完全平坦的结果。

变换后的灰度级减少了,这种现象叫做“简并”现象。

这是像素灰度有限的必然结果。

数字图像的直方图均衡只是近似的。

2.邻域平均法和中值滤波法各有何特点?

用上述2种方法实现噪声图像的去噪。

计算去噪前后的峰值信噪比,做出主观和客观评价。

邻域平均法特点:

1)其主要优点是算法简单,图像的噪声得到了一定的抑制;但其代价是会造成图像一定程度上的模糊。

2)邻域平均法的平滑效果与所采用邻域的半径(模板大小)有关。

半径愈大,去噪效果越好,但图像的模糊程度越大。

中值滤波法特点:

1)对某些输入信号中值滤波的不变性。

对某些特定的输入信号,如在窗口内单调增加或单调减少的序列,中值滤波输出信号仍保持输入信号不变利用这个特点,可以使中值滤波既能去除图像中的噪声,又能保持图像中一些物体的边缘。

2)对随机噪声的抑制能力,中值滤波比平均值滤波要差一些。

但对脉冲干扰,特别是脉冲宽度小于m/2、相距较远的窄脉冲干扰,中值滤波的效果较好。

3)中值滤波的频谱特性。

中值滤波频谱特性起伏不大,其均值比较平坦。

可以认为信号经中值滤波后,频谱基本不变。

Matlab程序主要部分如下:

(1)分别给图像加入噪声密度为0.02的椒盐噪声和高斯噪声,然后分别采用中值滤波和均值滤波对两种噪声图像去燥。

G=imnoise(I,'gauss',0.02);%加入高斯噪声

J=imnoise(I,'salt&pepper',0.02);%加入椒盐噪声

ave=fspecial('average',5);

K=filter2(ave,G)/255;%均值滤波抑制高斯噪声

L=filter2(ave,J)/255;%均值滤波抑制椒盐噪声

M=medfilt2(G,[33]);%中值滤波抑制高斯噪声

N=medfilt2(J,[33]);%中值滤波抑制椒盐噪声

(2)计算去噪前后的峰值信噪比

[hw]=size(I);

g=double(G);k=double(K);m=double(M);

j=double(J);l=double(L);n=double(N);

MSE1=(sum(sum((g-k).^2)))/(h*w);

PSNR1=10*log10(255^2/MSE1);

MSE2=(sum(sum((g-l).^2)))/(h*w);

PSNR2=10*log10(255^2/MSE2);

MSE3=(sum(sum((j-m).^2)))/(h*w);

PSNR3=10*log10(255^2/MSE3);

MSE4=(sum(sum((j-n).^2)))/(h*w);

PSNR4=10*log10(255^2/MSE4);

运行结果图:

(1)本程序使用的lena.bmp图像,像素为256*256.

图2.1原始图像

(2)图2.2为加入椒盐噪声后的图像以及分别使用均值滤波和中值滤波对椒盐噪声进行抑制后的输出图像。

(a)椒盐噪声图像(b)均值滤波后图像(c)中值滤波后图像

图2.2椒盐噪声去燥前后图像

(3)图2.3为加入高斯噪声后的图像以及分别使用均值滤波和中值滤波对高斯噪声进行抑制后的输出图像。

(a)高斯噪声图像(b)均值滤波后图像(c)中值滤波后图像

图2.3高斯噪声去燥前后图像

由图2.2可看出,对图像加入椒盐噪声后,应用中值滤波,如图2.2(c)所示,噪声的斑点几乎全部被滤去,它对滤除图像的椒盐噪声非常有效。

而对于高斯噪声来说,如图2.2(b)所示,虽然也有一些去噪效果,但效果不佳。

由此可知,中值滤波法运算简单,易于实现,而且能较好地保护边界,但有时会失掉图像中的细线和小块区域。

对比图2.3(b)(c)可看出,对图像加入高斯噪声后,均值滤波对高斯噪声的去除效果要比中值滤波好,经中值滤波后的图像虽然有一定的去噪效果,但仍有很多小斑点。

同时均值滤波在对高斯噪声抑制的同时,使图像变的更加模糊,这是均值滤波所存在的弊端。

综上所述,得到以下结论:

对于加了椒盐噪声的图像,利用中值滤波抑制噪声得到的效果更好;

对于加了高斯噪声的图像,利用均值滤波抑制噪声得到的效果更好;

均值滤波是图像变得平滑、模糊;

中值滤波对高斯噪声的抑制作用更差,中值滤波适合处理含椒盐噪声的图像。

为了更客观地说明各算法的滤波性能,采用峰值信噪比PSNR(PeakSignalNoiseRatio)作为客观评价的尺度,PSNR值越大,表示恢复图像与原始图像越接近,这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下:

其中,m,n表示图像的尺寸,I(i,j)表示原始图像的灰度值,K(i,j)表示滤波后的图像灰度值。

各算法对噪声图像处理后的PSNR如表1所示:

表1Leda峰值信噪比测试结果单位:

dB

 

PSNR

噪声类型

均值滤波

中值滤波

高斯噪声

25.2973

23.8802

椒盐噪声

29.9331

33.1386

由表中PSNR数据也可以得出,均值滤波对高斯噪声抑制效果较好,而对椒盐噪声的抑制作用比较差;中值滤波对椒盐噪声有明显的抑制作用。

3.选取3种典型的图像锐化处理模板,实现图像的锐化,分析结果,总结特点。

采用图像锐化的方法分别为:

Roberts梯度算子法、Prewitt梯度算子法、Sobel算子法、Laplacian算子法(二阶导数算子法)。

1)Roberts梯度算子法

Roberts梯度就是采用对角方向相邻两像素之差,故也称为四点差分法。

对应的水平和垂直方向的模板为:

标注的是当前像素的位置(i,j)为当前像素的位置,其计算公式如下:

利用Roberts梯度算子法实现的图像锐化程序代码如下:

I=imread('lena_256.bmp');

[H,W]=size(I);

M=double(I);

J=M;

fori=1:

H-1

forj=1:

W-1

J(i,j)=abs(M(i,j)-M(i+1,j+1))+abs(M(i+1,j)-M(i,j+1));

end;

end;

subplot(1,2,1);imshow(I);title('原图');

subplot(1,2,2);imshow(uint8(J));title('Roberts处理后的图');

程序运行结果:

图2.1Roberts梯度算子法实现图像锐化对比图

结果分析:

Roberts梯度算子法的特点:

用4点进行差分,以求得梯度,方法简单。

其缺点是对噪声较敏感,常用于不含噪声的图像边缘点检测。

梯度算子类边缘检测方法的效果类似于高通滤波,有增强高频分量,抑制低频分量的作用。

这类算子对噪声较敏感,而我们希望检测算法同时具有噪声抑制作用。

所以,下面给出的平滑梯度算子法具有噪声抑制作用。

2)Prewitt梯度算子法(平均差分法)

因为平均能减少或消除噪声,Prewitt梯度算子法就是先求平均,再求差分来求梯度。

水平和垂直梯度模板分别为:

 

利用检测模板可求得水平和垂直方向的梯度,再通过梯度合成和边缘点判定,就可得到平均差分法的检测结果。

利用Prewitt梯度算子法实现的图像锐化程序代码如下:

I=imread('lena_256.bmp');

[H,W]=size(I);

M=double(I);

J=M;

fori=2:

H-1

forj=2:

W-1

J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+M(i,j+1)-M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i+1,j-1)-M(i-1,j-1)+M(i+1,j)-M(i-1,j)+M(i+1,j+1)-M(i-1,j+1));

end;

end;

subplot(1,2,1);imshow(I);title('原图');

subplot(1,2,2);imshow(uint8(J));title('Prewitt处理后的图');

程序运行结果:

图2.2Prewitt梯度算子法实现图像锐化对比图

结果分析:

Prewitt算子在检测边缘点的同时具有抑制噪声的能力,检测出的边缘宽度至少为二像素。

但由于它们是先平均后差分,平均时会丢失一些细节信息,所以边缘有一定的模糊。

3)Sobel算子法(加权平均差分法)

Sobel算子就是对当前行或列对应的值加权后,再进行平均和差分,也称为加权平均差分。

水平和垂直梯度模板分别为:

利用Sobel算子法实现的图像锐化程序代码如下:

I=imread('lena_256.bmp');

[H,W]=size(I);

M=double(I);

J=M;

fori=2:

H-1

forj=2:

W-1

J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));

end;

end;

subplot(1,2,1);imshow(I);title('原图');

subplot(1,2,2);imshow(uint8(J));title('Sobel处理后的图');

程序运行结果:

图2.3Sobel梯度算子法实现图像锐化对比图

结果分析:

Sobel算子和Prewitt算子一样,都在检测边缘点的同时具有抑制噪声的能力,检测出的边缘宽度至少为二像素。

由于它们都是先平均后差分,平均时会丢失一些细节信息,使边缘有一定的模糊。

但由于Sobel算子的加权作用,其使边缘的模糊程度要稍低于程度要稍低于Prewitt算子。

 

4)aplacian算子法

对数字图像f(m,n),用差分代替二阶偏导,则Laplacian算子为:

所采用的模板为:

利用aplacian算子法实现的图像锐化程序代码如下:

I=imread('lena_256.bmp');

[H,W]=size(I);

M=double(I);

J=M;

fori=2:

H-1

forj=2:

W-1

J(i,j)=4*M(i,j)-[M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1)];

end;

end;

subplot(1,2,1);imshow(I);title('原图');

subplot(1,2,2);imshow(uint8(J));title('Laplacian处理后的图');

程序运行结果:

图2.4Laplacian算子法实现图像锐化对比图

结果分析:

Laplacian检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如梯度算子。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1