- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数图实验
实验一 直方图与灰度变换 ; 灰度直方图是灰度级的函数,描述的是图像中该灰度级的像素个数或该灰度级像素出现的频率。
即:横坐标表示灰度级,纵坐标表示图像中该灰度级出现的个数或该灰度级像素出现的频率,这个关系图就是灰度直方图。它反映了图像灰度分布的情况。
;一、实验目的
掌握使用matlab绘制图像灰度直方图的方法。
使用matlab进行简单的灰度线性变换
掌握图像的二值化编程方法
使用matlab进行图像直方图均衡化的方法
;二、matlab函数;;im2bw
im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像
格式: BW = im2bw(I, level)
level就是设置阈值的,level取值范围[0, 1]
直方图均衡化histeq
格式:J = histeq(I,n)??
指定直方图均衡后的灰度级数n,默认值为64;clear
close all
clc
I=imread(camerama.tif);
imhist(I),title(实验一(1) 直方图);
figure,subplot(221),imshow(I)
J=imadjust(I,[0.3,0.7],[0,1],1);
title( 实验一(2)用 g(m,n)=c+(d-c)* f(m,n) /(b-a)进行变换 );
subplot(2,2,2),imshow(J)
subplot(2,2,3),imshow(I)
J=imadjust(I,[0.5 0.8],[0,1],1);
subplot(2,2,4),imshow(J);figure,subplot(2,2,1),imshow(I)
J=find(I150);
I(J)=0;
J=find(I=150);
I(J)=255;
title( 实验一(3)图像二值化 ( 域值为150 ) );
subplot(2,2,2),imshow(I)
I=imread(camerama.tif);
bw=im2bw(I,0.5);%选取阈值为0.5
figure;imshow(bw) %显示二值图象;figure,subplot(2,1,1)
imshow(I);
title(试验一(4)-直方图均衡化);
subplot(2,1,2)
histeq(I);
;实验二 模板运算 ;一、实验目的
编程实现图像的平滑与锐化。
平滑:平滑的目的是模糊和消除噪声。平滑是用低通滤波器来完成,在空域中全是正值。
锐化:锐化的目的是增强细节。锐化是用高通滤波器来完成,在空域中,接近原点处为正,在远离原点处为负。;利用模板进行图象增强就是进行模板卷积。1、 利用二个低通邻域平均模板(3×3和9×9)对一幅
图象进行平滑,验证模板尺寸对图象的模糊效果的影响。2、 利用一个低通模板对一幅有噪图象(GAUSS白噪声)
进行滤波,检验两种滤波模板(分别使用一个5×5的
线性邻域平均模板和一个非线性模板:3×5中值滤波
器)对噪声的滤波效果。3、 选择一个经过低通滤波器滤波的模糊图象,利用sobel
和prewitt水平边缘增强高通滤波器(模板)对其进行高
通滤波图象边缘增强,验证模板的滤波效果。4、 选择一幅灰度图象分别利用 一阶Sobel算子和二阶
Laplacian算子对其进行边缘检测,验证检测效果。 ;1. fspecial函数:建立预定义的滤波算子 ;imnoise:给图像添加噪声
g=imnoise(f,type,parameters)
g=imnoise(f,gaussian,m,var)
将均值m,方差为var的高斯噪声加到图像f上,默认值为均值是0,方差是0.01的噪声。
filter2:图像滤波函数
Y = filter2(h,X)?
返回图像X经算子h滤波后的结果,默认返回图像Y与输入图像X大小相同
4. medfilt2:中值滤波函数
L=medfilt2(J,[3 5]);;%1、利用低通邻域平均模板进行平滑:
clc
clear
close all
I=imread(cameraman.tif);
subplot(1,3,1);imshow(I);title(原图);
J=fspecial(average);
J1=filter2(J,I)/255;
subplot(1,3,2);imshow(J1);title(3*
文档评论(0)