实验四图像增强
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息工程学院实验报告
课程名称:数字图像处理Array
实验项目名称:实验四图像增强实验时间:2016.11.08
班级::学号:
一、实验目的
1.了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。
2. 掌握图像空域增强算法的基本原理。
3. 掌握图像空域增强的实际应用及MATLAB实现。
4. 掌握频域滤波的概念及方法。
5. 熟练掌握频域空间的各类滤波器。
6.掌握怎样利用傅立叶变换进行频域滤波。
7. 掌握图像频域增强增强的实际应用及MATLAB实现。
二、实验步骤及结果分析
1. 基于幂次变换的图像增强
程序代码:
clear all;
close all;
I{1}=double(imread('fig534b.tif'));
I{1}=I{1}/255;
figure,subplot(2,4,1);imshow(I{1},[]);hold on
I{2}=double(imread('room.tif'));
I{2}=I{2}/255;
subplot(2,4,5);imshow(I{2},[]);hold on
for m=1:2
Index=0;
for lemta=[0.5 5]
Index=Index+1;
F{m}{Index}=I{m}.^lemta;
subplot(2,4,(m-1)*4+Index+1),imshow(F{m}{Index},[])
end
end
执行结果:
图1 幂次变换增强结果
实验结果分析:
由实验结果可知,当r<1时,黑色区域被扩展,变的清晰;当r>1时,黑色区域被压缩,变的几乎不可见。
2.直方图规定化处理
程序代码:
clear all
clc
close all
%0.读图像
I=double(imread('lena.tiff'));
subplot(2,4,1);
imshow(I,[]);
title('原图')
N=32;
Hist_image=hist(I(:),N);
Hist_image=Hist_image/sum(Hist_image);
Hist_image_cumulation=cumsum(Hist_image);%累
计直方图
subplot(245);
stem(0:N-1,Hist_image);
title('原直方图');
%1.设计目标直方图
Index=0:N-1;
%正态分布直方图
Hist{1}=exp(-(Index-N/2).^2/N);
Hist{1}=Hist{1}/sum(Hist{1});
Hist_cumulation{1}=cumsum(Hist{1});
subplot(242);
stem([0:N-1],Hist{1});
title('规定化直方图1');
%倒三角形状直方图
Hist{2}=abs(2*N-1-2*Index);
Hist{2}=Hist{2}/sum(Hist{2});
Hist_cumulation{2}=cumsum(Hist{2});
subplot(246);
stem(0:N-1,Hist{2});
title('规定化直方图2');
%2. 规定化处理
Project{1}=zeros(N);
Project{2}=zeros(N);
Hist_result{1}=zeros(N);
Hist_result{2}=zeros(N);
for m=1:2
Image=I;
%SML处理(SML,Single Mapping Law单映射规则
for k=1:N
Temp=abs(Hist_image_cumulation(k)-Hist_cumulati
on{m});
[Temp1,Project{m}(k)]=min(Temp);
end
%2.2 变换后直方图
for k=1:N
Temp=find(Project{m}==k);
if isempty(Temp)
Hist_result{m}(k)=0;
else Hist_result{m}(k)=sum(Hist_image(Temp)); end
end
subplot(2,4,(m-1)*4+3);
stem(0:N-1,Hist_result{m});
title(['变换后的直方图',num2str(m)]);
%2.3结果图Step=256/N;
for K=1:N
Index=find(I>=Step*(k-1)&I Image(Index)=Project{m}(k); end subplot(2,4,(m-1)*4+4),imshow(Image,[]); title(['变换后的结果图',num2str(m)]); end 执行结果: 原图 规定化直方图 2 变换后的直方图1 变换后的结果图1 变换后的直方图2 变换后的结果图2图2 直方图规定化 实验结果分析: 由实验结果可知,采用直方图规定化技术后,原图的直方图逼近规定化的直方图,从而有相应的变换后的结果图1和变换后的结果图2。 3.灰度图像常用平常、锐化滤波 程序代码: clear all; close all; %0.原图 I=double(imread('lena.tiff')); subplot(2,4,1);imshow(I,[]);title('原图'); %1.均值低通滤波H=fspecial('average',5); F{1}=double(filter2(H,I)); subplot(2,4,2);imshow(F{1},[]);title('均值低通滤波'); %2.gaussian 低通滤波 H=fspecial('gaussian',7,3);