《2023年数字图像处理实验一.docx》由会员分享,可在线阅读,更多相关《2023年数字图像处理实验一.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年数字图像处理实验一 一、实验目的及内容 内容: 灰度变换和空间滤波 1.灰度变换 利用imadjust函数(可结合stretchlim函数)对图像对比度拉伸 2.直方图绘制、均衡和匹配 利用imhist,histeq函数完成图2.8及图2.11的功能 3.空间滤波 线性空间滤波: 利用滤波函数imfilter函数完成图2.16中b,c,d,e的图像平滑效果 利用fspecial函数生成average,disk,gauian滤波器完成图像的平滑效果 利用fspecial函数生成prewitt, sobel,laplacian滤波器完成图像的锐化效果 非线性空间滤波 利用中值滤波函数me
2、dfilt2去除椒盐噪声 二、实验原理 、函数imadjust是一个基本的图像处理工具箱函数,用于对灰度级图像进行灰度变换。 g=imadjust(f,low_in high_in,low_out high_out,gamma),该函数将图像f中的灰度值映射为图像g中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。 、函数imhist是处理图像直方图的核心函数 h=imhist(f,b),其中f为输入图像,h为其直方图,b是用来形成直方图的“容器”的数目。 、函数histeq是实现直方图匹配的函数 g=histeq(f,hspec),其中f为输入
3、图像,hspec为规定的直方图,g为输出图像,输出图像的直方图近似于指定的直方图hspec。 、函数imfilter用来实现线性空间滤波 -1- g=imfilter(f,w,filtering_mode,boundary_options,size_options),其中f为输入图像,w为滤波模板,g为滤波后的结果。 用于平滑的滤波器有:average,disk,gauian 用于锐化的滤波器有:laplacian,prewit,sobel 三、实验源代码及结果 1、灰度变换、直方图绘制、均衡和匹配 f=imread(anna.jpg)%读取anna.jpg图片 subplot(2,4,1)
4、imshow(f),title(原图)%显示原图 f1=imadjust(f,0.2 0.5, 0 1)%将图片的灰度级别在0.2至0.5之间的部分拉伸 至0到1之间 subplot(2,4,2) imshow(f1),title(灰度拉伸之后)%显示灰度拉伸之后的图片 subplot(2,4,3) imhist(f),title(原图直方图) f2=histeq(f,128)%进行直方图均衡化,灰度级数设为128 subplot(2,4,4) imhist(f2),title(均衡化)%显示均衡化之后的直方图 g=imread(bag.png)%读取bag.png图像 h=imhist(g)
5、%生成bag.png图像的直方图赋值给向量h subplot(2,4,5) imhist(g),title(规定的直方图) f3=histeq(f,h)%进行直方图匹配 subplot(2,4,6) imshow(f3),title(直方图匹配) 运行结果 -2- 2、线性空间滤波 a=imread(block.png)%读取block.png图像 figure,subplot(2,3,1) imshow(a),title(原图) w=1/(31*31)*ones(31)%生成31*31的全为1的矩阵,命名为w a1=imfilter(a,w)%利用imfilter函数进行滤波 subplot
6、(2,3,2) imshow(a1) a2=imfilter(a,w,replicate)%图像的大小通过复制图像边界外的值来扩展 subplot(2,3,3) imshow(a2) a3=imfilter(a,w,symmetric)%图像的大小通过边界镜像反射来扩展 subplot(2,3,4) -3- imshow(a3) a4=imfilter(a,w,circular)%图像的大小通过将图像处理为二维周期函数的一个周 期来扩展 subplot(2,3,5) imshow(a4) aa=im2uint8(a) a5=imfilter(aa,w,replicate) subplot(2,
7、3,6) imshow(a5) b=imread(anna.jpg) figure,subplot(2,2,1) imshow(b),title(原图) w1=fspecial(average,4)%生成average平滑滤波器 b1=imfilter(b,w1)%进行滤波 subplot(2,2,2) imshow(b1),title(average) w2=fspecial(disk,5)%生成disk平滑滤波器 b2=imfilter(b,w2) subplot(2,2,3) imshow(b2),title(disk) w3=fspecial(gauian,3 3,0.5)%生成gau
8、ian平滑滤波器 b3=imfilter(b,w3) -4- subplot(2,2,4) imshow(b3),title(gauian) c=imread(anna.jpg) figure,subplot(2,2,1) imshow(c),title(原图) w4=fspecial(prewitt)%生成prewitt锐化滤波器 c1=imfilter(c,w4) subplot(2,2,2) imshow(c1),title(prewitt) w5=fspecial(sobel)%生成sobel锐化滤波器 c2=imfilter(c,w5) subplot(2,2,3) imshow(c
9、2),title(sobel) w6=fspecial(laplacian)%生成laplacian锐化滤波器 c3=imfilter(c,w6) subplot(2,2,4) imshow(c3),title(laplacian) 运行结果 -5- -6- 3、非线性空间滤波 d=imread(anna.jpg)%读取anna.jpg图像,赋值给d d1=imnoise(d,salt & pepper,0.3)%用imnoise函数对d生成椒盐噪声 figure,subplot(1,2,1) imshow(d1),title(被椒盐噪声污染的图像) d2=medfilt2(d1)&用中值滤波
10、器进行滤波 subplot(1,2,2) imshow(d2),title(去除椒盐噪声的图像) 运行结果 -7- 四、实验总结(心得体会) 通过这次实验,首先我熟悉了Matlab的基本操作,掌握了图像处理的基本操作,比如如何读一张图片进来、如何显示一张图片等等。这些都是最基本的操作。其次我知道了灰度变换的函数imadjust的使用,它是将选定的灰度级别范围变换为规定的范围,可以自由变换图像的灰度级别;还有掌握了如何画图像的直方图、将直方图均衡化等等。还学会了图像的滤波处理,通过函数imfilter进行滤波。常用的平滑滤波器有average,disk,gauian、锐化滤波器有prewitt, sobel,laplacian。还学会了用中值滤波去除椒盐噪声。这些都是一些比较初级的函数,后面还有很多图像处理方法需要学习。 -8- 数字图像处理实验一 数字图像处理实验一 数字图像处理实验教案 数字图像处理 数字图像处理 数字图像处理实验报告 数字图像处理实验报告 数字图像处理实验报告 数字图像处理实验报告 数字图像处理实验报告