中南民族大学数字图像处理实验报告.docx
- 文档编号:10067902
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:46
- 大小:3.70MB
中南民族大学数字图像处理实验报告.docx
《中南民族大学数字图像处理实验报告.docx》由会员分享,可在线阅读,更多相关《中南民族大学数字图像处理实验报告.docx(46页珍藏版)》请在冰豆网上搜索。
中南民族大学数字图像处理实验报告
中南民族大学
学生实验报告
院系:
计算机科学学院
专业:
计算机科学与技术
年级:
2011级
课程名称:
数字图像处理
组号:
02
姓名(学号):
谢枫********
石小飞11061148
黄煜11061144
柳卫平11061150
李春豪11061147
*************
2014年4月29日
年级
2011级
班号
5
组号
02
学号
专业
计算机科学与技术
姓名
实验名称
Matlab图像处理基础
实验室
9
实
验
目
的
和
要
求
一、实验目的:
(1)熟悉Matlab开发环境;
(2)掌握Matlab中数字图像的读取、显示、保存的基本方法的使用;
(3)掌握不同类型的数字图像之间转换方法;
(4)加深空间分辨率和灰度分辨率对图像显示效果的影响;
(5)熟悉Matlab中的傅里叶变换;
(6)基于Matlab的数字图像程序设计方法;
二、实验内容:
(1)在Matlab中运用imread函数读取一幅RGB图像(从实验素材中任意选择),查看该图像的大小、数据类型信息,并将该图像转换为灰度图像后以bmp格式保存。
(2)运用imread函数读取一幅灰度图像(从实验素材中任意选择),分别对其进行2采样、4采样和8采样,将原图像及采样后的三幅结果图像按同一大小显示出来并比较空间分辨率对图像显示效果的影响。
(3)运用imread函数读取一幅灰度图像(从实验素材中任意选择),分别以5,10,50为间隔对其灰度重新进行均匀量化,将原图像及重新量化后的三幅结果图像按同一大小显示出来并比较灰度分辨率对图像显示效果的影响。
(4)读取一幅灰度图像,对其进行快速傅里叶变换,将原空域图像和变换后的频域图像显示在同一窗口中。
三、实验要求:
(1)针对具体实验内容要分别展示:
指令(或m文件),输出结果,成因分析,经验总结。
(2)所有生成的图像或m文件,必须命名,比如图n:
描述图像信息;***.m文件:
描述文件信息。
(3)严禁抄袭,一旦发现雷同,所有涉及者均判实验报告不及格。
实
验
原
理
(
算
法
流
程
)
实验
(1):
1.代码实现
I=imread('peppers.png');%将图像peppers.png读入数组I中
imshow(I);%显示图像I
imfinfo('peppers.png');%读取图像大小、数据类型信息
ans%查看图像大小、数据类型信息
I=rgb2gray(I);%将图像转换为灰度图像I
imwrite(I,'peppers.bmp');%将转换后的图像以文件名peppers.bmp保存
2.运行结果
1-1-1图查看Peppers.png图片的基本信息和显示图片过程
1-1-2图将Peppers.png图片保存为peppers.bmp图片
3.实验分析
实
验
原
理
(
算
法
流
程
)
先用imread()函数将peppers.png存入I数组中,可见1-1-1图右上角的Workspace中的I。
然后用imfinfo()函数和ans函数读取该图像的大小、类型等信息,具体在1-1-1图的CommandWindow中可见。
至于图片格式的转换,就是用rgb2gray()函数将保存在I数组中的数据转换成灰度格式保存在原来的数组I中。
最后将变换所得到的数据保存于peppers.bmp文件中。
实验
(2):
1.代码实现
I=imread('lena.bmp');%读取灰度图片
subplot(221),imshow(I,[]),title('256*256,256')
I=I(1:
2:
end,1:
2:
end);%图片采样
subplot(222),imshow(I,[]),title('128*128,256')
I=I(1:
2:
end,1:
2:
end);%图片采样
subplot(223),imshow(I,[]),title('64*64,256')
I=I(1:
2:
end,1:
2:
end);%图片采样
subplot(224),imshow(I,[]),title('32*32,256')
2.运行结果
1-2图图片空间分辨率对图片的影响
3.实验分析
由1-2图可以看出,在保持灰度级数一定的条件下,随着图片空间分辨率的减半,即256*256,128*128,64*64,32*32的图像,图中的各个区域边缘处的棋盘模式越来越明显,并且全图的像素颗粒越来越粗。
证明了空间分辨率是影响图片清晰度的因素之一。
实验(3):
1.代码实现
I=imread('lena.bmp');%读取灰度图片
subplot(221),imshow(I,256),title('256*256,256')%灰度级为256
subplot(222),imshow(I,50),title('256*256,50')%灰度级为50
实
验
原
理
(
算
法
流
程
)
subplot(223),imshow(I,10),title('256*256,10')%灰度级为10
subplot(224),imshow(I,5),title('256*256,5')%灰度级为5
2.运行结果
1-3图图片灰度级对图片的影响
3.实验分析
该实验是在空间分辨率一定的前提下,改变灰度级别来观察图片的变化情况。
由1-3图可以看出,灰度级从256一次到50、10、5过程中,图中的各个区域边缘处的棋盘模式也越来越明显,并且全图的像素颗粒越来越粗。
证明了灰度分辨率也是影响图片清晰度的因素之一。
实验(4):
1.代码实现
A=imread('saturn.png');%读取真彩图
B=rgb2gray(A);%将真彩图转换为灰度图
subplot(121),imshow(B);%显示灰度图
C=ffshift(fft2(B));%计算傅里叶变换并位移
subplot(122),imshow(log(abs(C)),[]);%显示变换频谱
实
验
原
理
(
算
法
流
程
)
2.运行结果
1-4图图片的傅里叶变换效果
3.实验分析
由1-4图可以看出,傅里叶变换对灰度图片进行频谱转换,很好的刻画了图片的变换特征。
代码中运用了fftshift()函数将变换后的图像频谱中心从矩阵的原点移动到了矩阵的中心。
为了够清楚的观察到转换效果,最后用abs()函数对变换结果进行求模运算,避免不能显示的复数。
因此得到了由图中的变换效果。
年级
2011级
班号
5
组号
02
学号
专业
计算机科学与技术
姓名
实验名称
Matlab图像图像增强
实验室
9
实
验
目
的
和
要
求
1.实验目的
(1)掌握空域点处理图像增强方法;
(2)掌握空域滤波图像增强方法;
(3)掌握频域滤波图像增强方法;
2.实验内容
(1)读取一幅对比度不足的图像,对该图像进行直接灰度变换,包括图像求反、线性灰度变换、对数变化,并将原图像及变换后的图像进行对比。
(2)读取一幅直方图不均匀的图像,对该图像进行直方图均衡处理,显示处理前后的图像以及它们的灰度直方图。
(3)读取一幅灰度图像,对其添加均值为0,方差为0.02的高斯噪声,然后对添加噪声后的图像分别用3,9,18幅相同图像对其进行相加求平均结果,比较添加噪声图像与结果图像。
(4)读取一幅灰度图像,对其添加均值为0,方差为0.01的高斯噪声,然后分别对其进行中值滤波、sobel算子滤波、Prewitt算子滤波,比较添加噪声图像与滤波后的结果图像。
(5)读取一幅灰度图像,分别对其进行理想低通滤波和巴特沃斯高通滤波,显示滤波结果。
3.报告撰写要求:
(1)针对具体实验内容要分别展示:
指令(或m文件),输出结果,成因分析,经验总结
(2)所有生成的图像或m文件,必须命名,比如图n:
描述图像信息;***.m文件:
描述文件信息
(3)严禁抄袭,一旦发现雷同,所有涉及者均判实验报告不及格
实
验
原
理
(
算
法
流
程
)
实验
(1):
1.代码实现
I=imread('kids.tif');
subplot(221),imshow(I);
I=double(I);
I1=I;
I2=I;
I3=I;
%图像求反
I1=256-1-I1;
I1=uint8(I1);
subplot(222),imshow(I1);
%线性灰度变换
[M,N]=size(I2);
fori=1:
M
forj=1:
N
ifI2(i,j)<=30
I2(i,j)=I2(i,j);
elseifI2(i,j)<=150
I2(i,j)=(200-30)/(150-30)*(I2(i,j)-30)+30;
else
I2(i,j)=(255-200)/(255-150)*(I2(i,j)-150)+200;
end
end
end
subplot(223),imshow(uint8(I2));
%对数灰度变换
I3=41*log(1+I3);
I3=uint8(I3);
subplot(224),imshow(I3);
实
验
原
理
(
算
法
流
程
)
2.运行结果
2-1图图像求反、线性灰度变换、对数变换效果对比
3.实验分析
上图中的四幅图片从左到右,从上到下分别是原图、图像求反效果图、图像线性灰度变换效果图、图像对数变换效果图。
从上图可看出,原图像与求反图像之间存在很大差异,而求反的操作就是I=256-1-I这条语句实现的,图像可以说是由黑变白。
线性灰度变换图像的效果和原图最接近,其主要是将图像灰度级拉伸,增强对比度,将不需要的细节灰度级压缩,所以线性变换图像看起来比原图相对清楚、明亮。
而对数是对原图像进行动态范围的的压缩,因此图片的细节可见程度相对明显。
实验
(2):
1.代码实现
I=imread('mandi.tif');
subplot(221),imshow(I),title('原图和其直方图');
subplot(222),imhist(I);%显示图像直方图
I1=histeq(I);%对图像进行直方图均衡化处理
subplot(223),imshow(I1),title('直方图均衡化后的图和其直方图');
subplot(224),imhist(I1);%显示直方图均衡化后的图和其直方图
实
验
原
理
(
算
法
流
程
)
2.运行结果
2-2图图片直方图均衡处理效果图和直方图
3.实验分析
由2-2图的直方图均衡处理效果图及其直方图的比较我们可以很容易发现。
原图的直方图的灰度值相对集中靠左,所以看原图的效果显得相对较暗,而且动态范围偏小,对比度很低。
通过直方图均衡化后的,图像的直方图显示相对平均,而且动态范围也变大了。
其主要思想就是通过把原来不均衡的直方图变换为均衡的分布形式,来增强灰度的动态范围,从而达到增强图像整体对比度的效果。
实验(3):
1.代码实现
f=imread('onion.png');
f=rgb2gray(f);%把彩色图像转换为灰度图像
[M,N]=size(f);
ff1=zeros(M,N);
fori=1:
18
ff(:
:
i)=imnoise(f,'gaussian',0,0.02);%添加噪声
实
验
原
理
(
算
法
流
程
)
ff1=ff1+double(ff(:
:
i));
ifor(or(i==1,i==3),or(i==9,i==18));
figure;
imshow(uint8(ff1/i));
end
end
2.运行结果
2-3图图像相加求平均去噪效果图
3.实验分析
该实验目的主要是验证通过图像加法求平均能否达到减少噪声,即图像增强功能。
上图分别先通过随机高斯噪声处理后,再分别进行1,3,9,18的图像相加求平均,最后得到上图结果。
上图,从左至右,从上至下,分别为1,3,9,18求平均。
通过图像处理后效果的比较,我们可以得出,相加并求平均的图像数越多,图像去噪增强的效果越明显。
实验(4):
1.代码实现
I=imread('eight.tif');
subplot(231),imshow(I);title('原图');
J=imnoise(I,'gaussian',0,0.01);
subplot(232),imshow(J);title('随机噪声图像');
实
验
原
理
(
算
法
流
程
)
subplot(232),imshow(J);title('随机噪声图像');
K=medfilt2(I,[9,9]);%进行9X9模板中值滤波
subplot(233),imshow(K);title('9X9模板中值滤波图');
S=fspecial('sobel');%应用sobel算子锐化图像
I2=filter2(S,I);%sobel算子滤波锐化
subplot(234),imshow(I2);title('sobel算子锐化图像');
H=fspecial('prewitt');%应用prewitt算子锐化图像
I3=filter2(H,I);%prewitt算子滤波锐化
subplot(235),imshow(I3);title('prewitt算子锐化图像');%显示prewitt算子锐化图像
2.运行结果
2-4图图像中值滤波、sobel滤波、prewitt滤波效果图
3.实验分析
2-4图通过相对原图加上随机高斯噪声处理后在分别进行中值滤波、sobel滤波、prewitt滤波处理,得到上面相关过效果图。
从上图很直观的可以看出中值滤波的效果最好。
而sobel滤波、prewitt滤波处理后,边缘模糊现象很严重。
对于中值滤波,其在一定的条件下可以克服线性滤波带来的图像细节模糊问题。
而该实验采用的是9x9的滤波模板。
而sobel滤波和prewitt滤波,其梯度值和临近像素灰度值的差分成正比,因此图像中灰度变化较大的边缘区域的梯度值大,而灰度变化平缓的区域梯度值小。
所以,才出现上图效果。
实
验
原
理
(
算
法
流
程
)
实验(5):
1.代码实现
I=imread('office_5.jpg');
subplot(221),imshow(I);title('真彩原图');
I=rgb2gray(I);
subplot(222),imshow(I);title('灰度原图');
I=double(I);
f=fft2(I);%采用傅里叶变换
g=fftshift(f);%数据矩阵平衡
gg=fftshift(f);%数据矩阵平衡
[M,N]=size(I);
n1=floor(M/2);
n2=floor(N/2);
d0=65;
fori=1:
M%进行理想低通滤波
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd<=d0
h=1;
else
h=0;
end
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(223);imshow(g);title('理想低通滤波图');
n=2;%进行巴特沃特高通滤波
d0=8;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd==0
h=0;
else
h=1/(1+(d0/d)^(2*n));
end
gg(i,j)=h*gg(i,j);
end
end
实
验
原
理
(
算
法
流
程
)
gg=ifftshift(gg);
gg=uint8(real(ifft2(gg)));
subplot(224);imshow(gg);title('巴特沃特高通滤波图');%显示巴特沃特高通滤波图
2.运行结果
2-5图图像的理想低通滤波和巴特沃斯高通滤波效果图
3.实验分析
该实验室将理想的低通滤波与巴特沃特高通滤波效果进行对比。
正如2-5图所示,上面一行的为真彩色图和其经转换的灰度图,下面为经过滤波的效果图。
从效果看,理想的低通滤波要比巴特沃特高通滤波效果好。
然而理想的低通滤波在处理过程中产生了比较严重的模糊现象。
而经过巴特沃特高通滤波后区域边界有了明显的增强,灰度动态范围变小,但是整个图的暗度变高了很多。
实
验
原
理
(
算
法
流
程
)
1.实验目的
(1)掌握逆滤波图像复原方法;
(2)掌握维纳滤波图像复原方法;
(3)掌握最小二乘方图像复原方法;
(4)掌握全彩色图像处理方法;
(5)掌握伪彩色图像处理方法;
(6)掌握基本的图像检测与分割方法
2.实验内容
(1)读取一幅灰度图像,首先对其进行运动模糊(显示模糊前后的图像),再对其添加高斯噪声;然后对其分别进行逆滤波、维纳滤波、最小二乘方滤波图像复原,比较这三种复原算法的异同。
(2)在
(1)的基础上,改变高斯噪声的参数,比较三种复原算法在高、中、低三种不同程度的噪声下的复原效果。
(3)读取一幅RGB彩色图像,获取其三个通道R、G、B图像,并分别对其进行中值滤波,最后将三幅滤波结果图像合成一幅RGB结果图像。
(4)读取RGB三原色图像,生成其在HSI空间的各个分量各自对应的灰度图。
(5)读取一幅灰度图像,利用密度分层法将其转换为索引图像。
要求至少采用Matlab提供的2种着色器(参见colormap)来实现。
(6)读取一幅灰度图像(如lena.bmp),分别采用roberts算子、sobel算子、Prewitt算子、Canny算子、LOG算子对其进行边缘检测,并比较检测结果
(7)读取一幅灰度图像,采用Otsu阈值法对其进行阈值分割,并尝试手动调整Otsu阈值的大小,观察分割结果的变化
(8)读取一幅灰度图像,采用分水岭算法对其进行分割,观察分割结果
3.报告撰写要求:
(1)针对具体实验内容要分别展示:
指令(或m文件),输出结果,成因分析,经验总结
(2)所有生成的图像或m文件,必须命名,比如图n:
描述图像信息;***.m文件:
描述文件信息
(3)严禁抄袭,一旦发现雷同,所有涉及者均判实验报告不及格
实
验
原
理
(
算
法
流
程
)
实验
(1):
1.代码实现
C=imread('picture.png');
C=rgb2gray(C);
subplot(231);imshow(C);title('灰度原图');
%运动模糊处理
LEN=30;%设置运动位移为30像素
THETA=45;%设置运动角度
PSF=fspecial('motion',LEN,THETA);%建立二维仿真线性运动滤波器PSF
MF=imfilter(C,PSF,'circular','conv');%用PSF产生退化图像
subplot(232);imshow(MF);title('运动模糊图');%显示模糊后的运动图像
MFN=imnoise(MF,'gaussian',0,0.0000001);%加高斯噪声
subplot(233);imshow(MFN);title('加高斯噪声图');%显示高斯噪声图像
noise=imnoise(zeros(size(C)),'gaussian',0,0.8);
NSR=sum(noise(:
).^2)/sum(MFN(:
).^2);%计算信噪比
subplot(234);imshow(deconvwnr(MFN,PSF));title('逆滤波复原图');
subplot(235);imshow(deconvwnr(MFN,PSF,NSR));title('维纳滤波复原图');
subplot(236);imshow(deconvreg(MFN,PSF,4));title('最小二乘方滤波复原图');
2.运行结果
实
验
原
理
(
算
法
流
程
)
3-1图图像的逆滤波、维纳滤波、最小二乘方滤波图
3.实验分析
实验前,现将一副灰度图片进行运动模糊处理,然后加上随机高斯噪声。
随后进行逆滤波、维纳滤波、最小二乘方滤波处理。
由上面各个图的效果可以看出,维纳滤波和最小二乘方滤波对噪声和运动模糊有相当的好的过滤效果。
而逆滤波则出现较多的杂色。
实验
(2):
1.代码实现
C=imread('picture.png');
C=rgb2gray(C);
subplot(231);imshow(C);title('灰度原图');
%运动模糊处理
LEN=30;%设置运动位移为30像素
THETA=45;%设置运动角度
PSF=fspecial('motion',LEN,THETA);%建立二维仿真线性运动滤波器PSF
MF=imfilter(C,PSF,'circular','conv');%用PSF产生退化图像
subplot(232);imshow(MF);title('运动模糊图');%显示模糊后的运动图像
MFN=imnoise(MF,'gaussian',0,0.001);%加高斯噪声
subplot(233);imshow(MFN);title('加高斯噪声图');%显示高斯噪声图像
noise=imnoise(zeros(size(C)),'gaussian',0,0.3);
NSR=sum(noise(:
).^2)/sum(MFN(:
).^2);%计算信噪比
subplot(234);imshow(deconvwnr(MFN,PSF));title('逆滤波复原图');
subplot(235);imshow(deconvwnr(MFN,PSF,NSR));title('维纳滤波复原图');
subplot(236);imshow(deconvreg(MFN,PSF,4));title('最小二乘方滤波复原图');
2.运行结果
实
验
原
理
(
算
法
流
程
)
3-2-1图高斯参数的设置(0.001,0.3)
3-2-1图高斯参数的设置(0.000001,0.9)
实
验
原
理
(
算
法
流
程
)
3.实验分析
由上面的两个高斯参数可以看出,噪声对以上三种滤波的方式影响很大。
高斯噪声参数越大,逆滤波的去噪效果就越差,而维纳滤波和最小二乘方滤波去噪效果就越好。
实验(3):
1.代码实现
rgb=imread('rgb.jpg');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南 民族大学 数字图像 处理 实验 报告