ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:443.15KB ,
资源ID:3688044      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3688044.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字图像处理实验报告基于MatlabWord文件下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数字图像处理实验报告基于MatlabWord文件下载.docx

1、subplot(3,3,4);imshow(above);gamma1subplot(3,3,5);imshow(equal);gamma=1subplot(3,3,6);imshow(below);gamma1时图像整体变暗,灰度级整体变小;1时图像整体变亮,灰度级整体变小;而gamma=1时,图像维持不变。实验2:图像的平滑滤波平滑的目的是减少噪声对图像的影响。掌握线性滤波和中值滤波两种最典型、最常用的图像平滑方法,对输出结果加以比较、加深理解。1)编写并调试窗口为33、55的平滑滤波函数;如1 1 1;1 1 1 ;1 1 1/9、1 2 1;2 4 2;1 2 1/16等)2)编写并调

2、试窗口为35的中值滤波函数。3)比较均值滤波和中值滤波的优缺点,分析窗口尺寸对滤波结果的影响。附:可供参考的Matlab函数有imnoise、imfilter、medfilt2function fliterI = imread( %原始图像读取J = imnoise(I,salt & pepper,0.02); %含噪图像 加椒盐噪声subplot(2,3,1);imshow(J);含噪图像Newbuf1=AverageFilter(J,256,256,3); %33标准平均,调用均值滤波函数subplot(2,3,2);imshow(Newbuf1);33标准平均Newbuf2=Averag

3、eFilter(J,256,256,5); %55标准平均,调用均值滤波函数subplot(2,3,3);imshow(Newbuf2);55标准平均W=1 2 1;1 2 1/16; %设置加权平均掩膜Newbuf3=WeighFilter(J,W,256,256,3);3加权平均,调用加权平均函数 subplot(2,3,4);imshow(Newbuf3);3加权平均Newbuf4=MedianFilter(J,256,256,3);3中值滤波,调用中值滤波函数subplot(2,3,5);imshow(Newbuf4);3中值滤波Newbuf5=MedianFilter(J,256,2

4、56,5);5中值滤波,调用中值滤波函数subplot(2,3,6);imshow(Newbuf5);5中值滤波%标准平均滤波函数function Newbuf=AverageFilter(Oldbuf,M,N,m)%Newbuf 滤波后图像矩阵%Oldbuf 含噪图像矩阵%M、N 含噪图像像素矩阵行、列%m 均值滤波窗口大小f=zeros(M+m-1,N+m-1);%将原图像像素复制到f矩阵上,空出(m-1)/2大小的边界f(m-1)/2+1:M+(m-1)/2,(m-1)/2+1:N+(m-1)/2)=Oldbuf(1:M,1:N);%将与边界相邻的(m-1)/2行(或列)的像素值复制到边

5、界,以填充边界M+(m-1)/2,1:(m-1)/2)=Oldbuf( : ,1:(m-1)/2);M+(m-1)/2,N+(m-1)/2:N+m-1)=Oldbuf( : ,N-(m-1)/2:f(1:(m-1)/2,(m-1)/2+1:(m-1)/2, : );f(M+(m-1)/2:M+m-1,(m-1)/2+1:N+(m-1)/2)=Oldbuf(M-(m-1)/2:M, :g=zeros(M+m-1,N+m-1);Im=zeros(M,N);%根据公式计算出处理后g(x,y)的像素值 for x=(m-1)/2+1:M+(m-1)/2 for y=(m-1)/2+1:N+(m-1)/

6、2 for s=-(m-1)/2:(m-1)/2 for t=-(m-1)/2: g(x,y)=g(x,y)+f(x+s,y+t)*1/(m*m); endIm(1:N)=g(m-1)/2+1:N+(m-1)/2);%将double型转换为uint8型才可以用imshow正常显示Newbuf=uint8(Im);%加权平均滤波函数function Newbuf=WeighFilter(Oldbuf,W,M,N,m)%W 掩模%m 掩模模板窗口大小%将与边界相邻的(m-1)/2行(或列)的像素值复制到边界,以填充边界f(m-1)/2+1: g(x,y)=g(x,y)+W(s+(m+1)/2,t+

7、(m+1)/2)*f(x+s,y+t);%中值滤波函数function Newbuf=MedianFilter(Oldbuf,M,N,m)%M、N 含噪图像矩阵像素行、列%m 中值滤波窗口大小 j=1; a(j)=f(x+s,y+t); %将窗口里的二维元素变成一维元素 j=j+1; g(x,y)=SeekMid(a,m);%找出中值函数function mid=SeekMid(winbuf,m)%mid 排序后的中值%winbuf 待排序窗口%m 窗口大小%采用冒泡排序方法将窗口像素值从小到大排列,返回中间像素值for i=1:m*m-1 for k=1:m*m-i if winbuf(k)

8、winbuf(k+1) temp=winbuf(k); winbuf(k)=winbuf(k+1); winbuf(k+1)=temp;endmid=winbuf(m*m+1)/2);1.比较均值滤波和中值滤波的优缺点 均值滤波可以减小图像灰度级的“sharp”变化,可以降低噪声,但是降噪的同时也使边缘部分变得模糊,还可以平滑伪轮廓,去除图像中的不相关的小于掩模尺寸的细节。中值滤波器的主要功能是使具有不同灰度的点看起来更接近它的相邻点,去除那些相对于其邻域像素更亮或更暗、且区域小于n2/2的孤立像素集。中值滤波对降低某些类型的随机噪声性能优异,模糊程度低。在处理椒盐噪声时,均值滤波使图像变得模

9、糊,并且噪声去除性能很差,而中值滤波的效果却很好。显然,中值滤波比均值滤波更适合去除椒盐噪声。2. 分析窗口尺寸对滤波结果的影响窗口尺寸越大,图像越模糊,图像边缘和与掩膜大小接近的细节受到的影响也越大实验3:图像的锐化处理锐化的目的是加强图像的边界和细节,熟悉Robert、Sobel和Laplace算子进行检测,使图像特征(如边缘、轮廓等)进一步增强并突出。1)编写Robert算子滤波函数;2)编写Sobel算子滤波函数;3)编写Laplace算子滤波函数;4)编写限幅和标定函数,给出增强后的图像。function EX3I=imread(rice.bmpsubplot(2,4,1);imsh

10、ow(I);原始图像rob=RobertFilter(I);subplot(2,4,2);imshow(rob); Robert算子滤波结果R1=I+rob;la1=LimitAmplitude(R1);subplot(2,4,6);imshow(la1); Robert算子增强结果a2=-1 -2 -1;0 0 0;1 2 1;b2=-1 0 1;-2 0 2;-1 0 1;sob=SobelFilter(I,a2,b2);subplot(2,4,3);imshow(sob); Sobel算子滤波结果R2=I+sob;la2=LimitAmplitude(R2);subplot(2,4,7)

11、;imshow(la2);Sobel算子增强结果% s=0 1 0;1 -4 1;0 1 0;s=1 1 1;1 -8 1;1 1 1;lap=LapFilter(I,s);cal=Calibration(lap);subplot(2,4,4);imshow(cal); Laplace算子滤波结果lap=uint8(lap);lapr=I-lap;lapr3=LimitAmplitude(lapr);subplot(2,4,8);imshow(lapr3); Laplace算子增强结果%Robert算子滤波function rob=RobertFilter(F)a1=-1 0;0 1;b1=0

12、 -1;1 0; %Robert算子模板M,N=size(F);f=zeros(M+1,N+1);N)=F(1:M,N+1:N+1)=F( : ,N:f(M+1:M+1,1:N)=F(M: %边界填充g=zeros(M+1,N+1);for x=1:M for y=1:N mod=f(x,y) f(x,y+1);f(x+1,y) f(x+1,y+1); gsx=a1.*mod; gsy=b1.*mod; g(x,y)=abs(sum(gsx(:)+abs(sum(gsy(:);N)=g(1:rob=uint8(Im);%Sobel算子滤波function sob=SobelFilter(F,s

13、x,sy)%sx,sy为Sobel算子模板m,n=size(sx);f=zeros(M+m-1,N+n-1);M+(m-1)/2,(n-1)/2+1:N+(n-1)/2)=F(1:(n-1)/2)=F( :(n-1)/2);M+(m-1)/2,N+(n-1)/2:N+m-1)=F( : ,N-(n-1)/2:(m-1)/2,(n-1)/2+1:M+m-1,(n-1)/2+1:N+(n-1)/2)=F(M-(m-1)/2:g=zeros(M+m-1,N+n-1);for x=(m-1)/2+1: for y=(n-1)/2+1:N+(n-1)/2 mod=f(x-1,y-1) f(x-1,y)

14、f(x-1,y+1); f(x,y-1) f(x,y) f(x,y+1);f(x+1,y-1) f(x+1,y) f(x+1,y+1); gsx=sx.*mod; gsy=sy.*mod;N+(n-1)/2);sob=uint8(Im);%Laplace算子滤波function lap=LapFilter(F,S)m,n=size(S); gs=S.*mod; g(x,y)=sum(gs(:);lap=Im;%限幅函数function la=LimitAmplitude(F)f=uint8(F);M,N=size(f); if f(x,y)=255; f(x,y)=255; else if f

15、(x,y)=0 f(x,y)=0; else f(x,y)=f(x,y); %将灰度值限定在0到255之间la=f;%标定函数function cal=Calibration(F)F=double(F);m1=min(min(F); fm(x,y)=F(x,y)-m1;m2=max(max(fm);Fm=double(fm); fs(x,y)=255*(Fm(x,y)/m2);cal=uint8(fs);实验4:图像的统计特性观察序列图像帧内、帧间差值信号的分布曲线,理解图像在空间域和频率域上的统计特性及其在压缩中的重要性。1)编写帧内统计函数,计算差值图像(同一行差值、同一列差值),观察统计

16、分布曲线;2)编写帧间统计函数,计算差值图像(相邻帧的差值),观察统计分布曲线(cla0/1或girl0/1)。可供参考的Matlab函数有sum、cat、plotfunction EX4oldbuf=imread(I1=imread(CLA1.bmpI2=imread(CLA2.bmpnewbuf1=Intrah(oldbuf,1); %帧内水平差值统计特性newbuf2=Intrah(oldbuf,0); %帧内垂直差值统计特性newbuf3=Inter(I1,I2); 帧间统计特性imshow(oldbuf);draw(newbuf1);水平差值统计特性draw(newbuf2);垂直差

17、值统计特性imshow(I1);CLA1imshow(I2);CLA2draw(newbuf3);帧间统计特性function newbuf=Intrah(oldbuf,pop2) %帧内统计函数oldbuf=double(oldbuf);M,N=size(oldbuf); %防止溢出将数据类型从uint8型转换为double型newbuf=zeros(1,511);if pop2=1 for i=1: for j=1:N-1 dH=oldbuf(i,j)-oldbuf(i,j+1);% 帧内水平灰度差值 newbuf(dH+256)=newbuf(dH+256)+1;else M-1 dV=oldbuf(i,j)-oldbuf(i+1,j); newbuf(dV+256)=newbuf(dV+256)+1;function newbuf=Inter(oldbuf,oldbuf1) %帧间统计函数oldbuf1=double(oldbuf1); dt=oldbuf(i,j)-oldbuf1(i,j);% 计算帧间差值 newbuf(dt+256)=newbuf(dt+256)+1;function draw(D)D=D/sum(D);x=-255:255;plot(x,D);axis(

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2