数字图像处理matlab版实验报告Word格式.docx
- 文档编号:17135610
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:11
- 大小:1.16MB
数字图像处理matlab版实验报告Word格式.docx
《数字图像处理matlab版实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《数字图像处理matlab版实验报告Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
FMT的可能取值为jpg或jpeg,tif或tiff,bmp,png,hdf,pcx,xwd。
2.imwrite函数
该函数用于把图像写入图形文件中。
格式IMWRITE(A,FILENAME,FMT)把图像A写入文件FILENAME中。
FILENAME指明文件名,FMT指明文件格式。
A既可以是一个灰度图,也可以是一个真彩图像。
格式IMWRITE(X,MAP,FILENAME,FMT)把索引图及其调色板写入FILENAME中。
MAP必须为合法的MATLAB调色板,大多数图像格式不支持多于256色的调色板。
FMT的可能取值为tif或tiff,jpg或jpeg,bmp,png,hdf,pcx,xwd。
3.imshow函数
显示图像。
格式IMSHOW(I,N).用N级离散灰度级显示灰度图象I。
若省略N,默认用256级灰度显示24位图像,64级灰度显示其他系统。
格式IMSHOW(I,[LOWHIGH]),把I作为灰度图显示。
LOW值指定为黑色,HIGH指定为白色,中间为按比例分布的灰色。
若[LOW,HIGH]为[],则函数把图像中的最小值显示为黑色,最大值显示为白色。
2.图像几何变换
1.imcrop函数
该函数用于把一幅图像经裁剪后放入一指定的矩形中。
例如在以下的语法格式中IMCORP显示输入图像,并等待用鼠标指定矩形。
2.imrotate函数
该函数用于旋转图像。
格式B=IMROTATE(A,ANGLE,METHOD)。
用于把图像A按逆时针方向和特殊的填充方法旋转ANGLE度,METHOD可取以下值:
“nearest”:
默认值,用最近邻插值。
“bilinear”:
用双线性插值。
“bicubic”:
用双立方插值。
3.直方图绘制
IMHIST函数
该函数用于计算图像数据的直方图。
格式IMHIST(I,N).用于显示灰度图像I的N级直方图。
对灰度图默认N为256,对二值图默认N为2。
格式IMHIST(X,MAP)。
用于显示索引图的直方图。
5.直方图均衡
HISTEQ函数
该函数用直方图均衡的方法增强图像的对比度。
例如用直方图均衡的方法增强一幅灰度图。
三.实验内容:
1.给出一幅灰度图像,请加上高斯噪声,绘制其直方图,选择合适的滤波器滤波,并做直方图均衡。
(利用IPT函数)
实验代码:
f=imread('
Fig0318(a)(ckt-board-orig).tif'
);
imshow(f);
H=imnoise(f,'
salt&
pepper'
0.05)
imhist(f);
figure;
imshow(H);
H1=fspecial('
average'
[33]);
%3*3均值滤波
MotionBlur1=imfilter(H,H1,'
replicate'
imshow(MotionBlur1)
J=histeq(H);
%直方图均衡化
imhist(J);
%直方图均衡化后的直方图
figure,imshow(J);
%直方图均衡化后的图片
实验原始图像:
加上椒盐噪声后的照片:
加入椒盐噪声后的直方图:
使用均值滤波器后的图片:
直方图均衡化后的直方图:
直方图均衡化后的图片:
2.给出一幅图像,请加上高斯噪声,选择合适的滤波器滤波,并做直方图均衡。
(不能使用IPT加噪声、滤波与直方图均衡函数)
实验代码:
I=imread('
imshow(I);
%实验图像
figure,imhist(I);
array1=size(I);
a=im2double(I)
s=0.01;
J=a+sqrt(s)*randn(array1);
%加入高斯噪声后的图像
figure,imhist(J);
n=3;
p=size(I);
p1=double(I);
p2=p1;
fori=1:
p
(1)-n+1
forj=1:
p
(2)-n+1
c=p1(i:
i+(n-1),j:
j+(n-1)).*1;
s=sum(sum(c));
p2(i+(n-1)/2,j+(n-1)/2)=s/(n*n);
end
K=uint8(p2);
figure,imshow(K);
%均值滤波后的图像
figure,imhist(K);
array1=double(K);
[m,n]=size(K);
c=255;
result=0;
x=zeros(1,256);
y=zeros(1,256);
z=zeros(1,256);
m
n
t=array1(i,j);
y(t+1)=y(t+1)+1;
fork=1:
256
z(k)=y(k)/(m*n);
forl=1:
result=result+z(l);
x(l)=result;
x=round(c*x);
fori1=1:
forj1=1:
n
M(i1,j1)=x(array1(i1,j1)+1);
P=uint8(M);
figure,imshow(P);
%直方图均衡后的图像
figure,imhist(P);
实验图像:
原图像直方图:
加高斯噪声后的图像:
加高斯噪声后的直方图:
均值滤波后的图像:
均值滤波后图像的直方图:
直方图均衡后的图像:
直方图均衡后的图像的直方图
四.实验总结:
Matlab数字图像处理整体来说比c语言好用的多。
很多时候,我们可以直接利用现成的函数而不必了解其中的具体过程。
但是,第二题的,主要还是利用了滤波的真正算法思想,相当于在matlab中将整个滤波,加噪声的算法重新过了一遍。
整个实验,进一步熟悉了matlab编程,熟悉掌握matlab中与数字头图像处理有关的函数及其用法,也进一步巩固了之前所学的算法的基本思想。
也让我明白在实际应用之中,对于特定的情形,一般会有最好的滤波等处理方法,我们应该努力寻找此情景下的最佳算法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 matlab 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)