数字图像处理上机实验.docx
《数字图像处理上机实验.docx》由会员分享,可在线阅读,更多相关《数字图像处理上机实验.docx(9页珍藏版)》请在冰豆网上搜索。
![数字图像处理上机实验.docx](https://file1.bdocx.com/fileroot1/2023-1/5/f70abd74-a342-48f5-b106-ab8fa7c23c46/f70abd74-a342-48f5-b106-ab8fa7c23c461.gif)
数字图像处理上机实验
数字图像处理上机作业
朱正洲2018102018027
1.对给定的两种128⨯128、256级灰度的数字图像<图像磁盘文件名分别为Fing_128.img<指纹图)和Cell_128.img<显微医学图像)进行如下处理:
b5E2RGbCAP
<1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。
p1EanqFDPw
异同:
由于原图像中目标物的灰度主要集中于低亮度部分,而且象素总数比较多,经过直方图均衡后,目标物的所占的灰度等级得到扩展,对比度加强,使整个图像得到增强。
DXDiTa9E3d
数字图像均衡化后其直方图并非完全均匀分布的原因:
由于原图像中目标物的灰度主要集中于低亮度部分,而且象素总数比较少,而所占的灰度等级比较多,因此图像的对比度比较好,亮度比较大,整体图像清晰。
经过直方图均衡后,目标物的所占的灰度等级被压缩,对比度减弱,反而使目标物变的难以辨认。
RTCrpUDGiT
数字图像均衡化后,其直方图并非完全均匀分布,这是因为图像的象素个数和灰度等级均为离散值;而且均衡化使灰度级并归,因此,均衡化后,其直方图并非完全均匀分布。
5PCzVD7HxA
源代码:
figure(1>。
fid=fopen('D:
\img\cell_128.img','r'>。
%打开无格式文件
data1=(fread(fid,[128,128],'uint8'>>'。
%将打开的文件读入到data1jLBHrnAILg
subplot(4,2,1>。
%将figure(1>分成4*2的8个子窗口,xHAQX74J0X
data11=uint8(data1>。
imshow(data11>。
%图象显示
title('CELL','Color','b'>。
%加标题
subplot(4,2,2>。
title('原图像直方图'>。
imhist(data11>。
subplot(4,2,3>。
%取第二个子窗口
data2=uint8(data1>。
%将灰度图象转换成uint8格式
b=histeq(data2>。
%直方图均衡化
imshow(b,256>。
%显示均衡化图象,256可缺省
title('均衡化','Color','b'>。
subplot(4,2,4>。
imhist(b>。
title('均衡化后图像直方图'>。
subplot(4,2,5>
fid=fopen('d:
\img\fing_128.img','r'>。
%打开无格式文件
data3=(fread(fid,[128,128],'uint8'>>'。
%将打开的文件读入到data3LDAYtRyKfE
data31=uint8(data3>。
%将灰度图象转换成uint8格式Zzz6ZB2Ltk
imshow(data31>。
%显示灰度图象
title('FING','Color','b'>。
subplot(4,2,6>
imhist(data31>。
title('原图像直方图'>。
subplot(4,2,7>。
data4=uint8(data3>。
%将灰度图象转换成uint8格式
d=histeq(data4>。
%直方图均衡化
imshow(d,256>。
%显示均衡化图象,256可缺省
title('均衡化','Color','b'>。
subplot(4,2,8>。
imhist(d>。
title('均衡化后原图像直方图'>。
<2)对原图像加入高斯噪声,用4-邻域平均法平滑加噪声图像<图像四周边界不处理,下同),同屏显示原图像、加噪图像和处理后的图像。
dvzfvkwMI1
不加门限;
加门限
,<其中
)
源代码:
%CELL
figure(2>。
fid=fopen('D:
\img\cell_128.img','r'>。
%打开无格式文件
data1=(fread(fid,[128,128],'uint8'>>'。
%将打开的文件读入到data1rqyn14ZNXI
I=uint8(data1>。
I1=imnoise(I,'gaussian'>。
%加乘性噪声
H1=[010。
101。
010]/4。
%4×4领域模板
J=imfilter(I,H1>。
%领域平均
subplot(2,4,1>,imshow(I>。
%显示图像I
title('原图像'>。
subplot(2,4,2>,imshow(I1>。
title('加噪声后图像'>。
subplot(2,4,3>,imshow(J>。
%不加门限平滑
title('不加门限平滑后图像'>。
%加门限后滤波
T=2*sum(I1(:
>>/128^2。
im_T=zeros(128,128>。
fori=1:
128
forj=1:
128
ifabs(I1(i,j>-J(i,j>>>T
im_T(i,j>=J(i,j>。
else
im_T(i,j>=I1(i,j>。
end
end
end
subplot(2,4,4>。
imshow(im_T>。
title('加门限后'>。
%FING
figure(2>。
fid=fopen('D:
\img\fing_128.img','r'>。
%打开无格式文件
data1=(fread(fid,[128,128],'uint8'>>'。
%将打开的文件读入到data1EmxvxOtOco
I=uint8(data1>。
I1=imnoise(I,'gaussian'>。
%加乘性噪声
H1=[010。
101。
010]/4。
%4×4领域模板
J=imfilter(I,H1>。
%领域平均
subplot(2,4,5>,imshow(I>。
%显示图像I
title('原图像'>。
subplot(2,4,6>,imshow(I1>。
title('加噪声后图像'>。
subplot(2,4,7>,imshow(J>。
%不加门限平滑
title('不加门限平滑后图像'>。
%加门限后滤波
T=2*sum(I1(:
>>/128^2。
im_T=zeros(128,128>。
fori=1:
128
forj=1:
128
ifabs(I1(i,j>-J(i,j>>>T
im_T(i,j>=J(i,j>。
else
im_T(i,j>=I1(i,j>。
end
end
end
subplot(2,4,8>。
imshow(im_T>。
title('加门限后'>。
2.<1)用Laplacian锐化算子<分
和
两种情况)对256⨯256大小、256级灰度的数字图像lena进行锐化处理,显示处理前、后图像。
SixE2yXPq5
源代码:
%laplacian算子锐化
I=imread('D:
\img\LENA256.bmp'>。
%读入原图像
figure(1>。
subplot(1,3,1>。
imshow(I>。
title('原始图像'>。
L=fspecial('laplacian'>。
L1=[0-10。
-15-1。
0-10]。
L2=[0-20。
-29-2。
0-20]。
LP1=imfilter(I,L1,'replicate'>。
%α=1时的拉普拉斯算子
LP2=imfilter(I,L2,'replicate'>。
%α=2时的拉普拉斯算子
subplot(1,3,2>。
imshow(LP1>。
title('Laplacian算子α=1锐化图像'>。
6ewMyirQFL
subplot(1,3,3>。
imshow(LP2>。
title('Laplacian算子α=2锐化图像'>。
kavU42VRUs
<2)若令
,
则回答如下问题:
、
和
之间有何关系?
代表图像中的哪些信息?
由此得出图像锐化的实质是什么?
因为
,所以
、
和
之间有以下关系:
代表了原图像中的二阶梯度信息;
是边缘增强后的数字图像;
由此可以得出:
图像锐化的实质是将原图像与梯度信息叠加<梯度信息所占的比例由
的大小决定,
值越大则梯度信息所占的比例越大),相当于对目标物的边缘进行了增强。
y6v3ALoS89
5.分别利用Roberts、Prewitt和Sobel边缘检测算子,对256⨯256大小、256级灰度的数字图像lena进行边缘检测,显示处理前、后图像。
M2ub6vSTnP
图像:
源代码:
I=imread('D:
\img\LENA256.bmp'>。
%读入原图像
figure(1>
%Roberts梯度法锐化
subplot(2,2,1>。
imshow(I>。
title('原始图像'>。
J=double(I>。
[IX,IY]=gradient(J>。
%计算梯度
A=sqrt(IX.*IX+IY.*IY>。
subplot(2,2,2>。
imshow(A,[]>。
title('Roberts梯度法锐化图像'>。
0YujCfmUCw
%Prewitt算子锐化
S=imfilter(I,fspecial('Prewitt'>>。
subplot(2,2,3>。
imshow(S>。
title('Prewitt算子锐化图像'>。
%Sobel算子锐化
S=imfilter(I,fspecial('sobel'>>。
subplot(2,2,4>。
imshow(S>。
title('Sobel算子锐化图像'>。
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。