没有合适的资源?快使用搜索试试~ 我知道了~
数字图像处理实验报告-基于Matlab.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 46 浏览量
2021-10-12
14:54:19
上传
评论
收藏 594KB DOCX 举报
温馨提示
试读
26页
。。。
资源推荐
资源详情
资源评论
.
华东师范大学
电子工程系
2017.6
精选
.
实验 1:图像灰度级修正
【实验目的】
掌握常用的图像灰度级修正方法(灰度变换法和直方图均衡化),加深对直方图
的理解。观察图像的增强效果,对灰度级修正前后的图像加以比较。
【实验内容】
1)编程实现图像的灰度变换,改变图像的输入、输出映射参数范围(线性拉伸
和反比);
2)修改参数 gamma 值(大于、小于、等于 1),观察处理结果;
3)对图像直方图作均衡化处理,显示均衡前后的图像及其直方图。
【实验代码】
original=imread('lena.bmp');
linstr=imadjust(original,[0.3 0.7],[0 1]); %线性拉伸
opposite=imadjust(original,[0 1],[1 0]); %反比
above=imadjust(original,[0 1],[0 1],2);
equal=imadjust(original,[0 1],[0 1],1);
%gamma>1
%gamma=1
below=imadjust(original,[0 1],[0 1],0.5); %gamma<1
subplot(3,3,1);imshow(original);title('原图像');
subplot(3,3,2);imshow(linstr);title('线性拉伸');
subplot(3,3,3);imshow(opposite);title('反比');
subplot(3,3,4);imshow(above);title('gamma>1');
subplot(3,3,5);imshow(equal);title('gamma=1');
subplot(3,3,6);imshow(below);title('gamma<1');
subplot(3,3,7);imhist(original);title('原图像直方图');
histequal=histeq(original);%对图像均衡化
subplot(3,3,8);imshow(histequal);title('均衡后的图像');
subplot(3,3,9);imhist(histequal);title('均衡图像的直方图');
axis([0 256 0 2000]);
【输出图像】
精选
.
【实验思考】
实验 2:图像的平滑滤波
【实验目的】
平滑的目的是减少噪声对图像的影响。掌握线性滤波和中值滤波两种最典型、最
常用的图像平滑方法,对输出结果加以比较、加深理解。
【实验内容】
1)编写并调试窗口为 3×3、5×5 的平滑滤波函数;如[1 1 1;1 1 1 ;1 1 1]/9、[1 2
1;2 4 2;1 2 1]/16 等)
2)编写并调试窗口为 3×3、5×5 的中值滤波函数。
3)比较均值滤波和中值滤波的优缺点,分析窗口尺寸对滤波结果的影响。
精选
.
附:可供参考的 Matlab 函数有 imnoise、imfilter、medfilt2
【实验代码】
function fliter
I = imread('lena.bmp');
%原始图像读取
J = imnoise(I,'salt & pepper',0.02); %含噪图像 加椒盐噪声
subplot(2,3,1);imshow(J);title('含噪图像');
Newbuf1=AverageFilter(J,256,256,3); %3×3标准平均,调用均值滤波函数
subplot(2,3,2);imshow(Newbuf1);title('3×3标准平均');
Newbuf2=AverageFilter(J,256,256,5); %5×5标准平均,调用均值滤波函数
subplot(2,3,3);imshow(Newbuf2);title('5×5标准平均');
W=[1 2 1;2 4 2;1 2 1]/16;
%设置加权平均掩膜
Newbuf3=WeighFilter(J,W,256,256,3); %3×3加权平均,调用加权平均函数
subplot(2,3,4);imshow(Newbuf3);title('3×3加权平均');
Newbuf4=MedianFilter(J,256,256,3); %3×3中值滤波,调用中值滤波函数
subplot(2,3,5);imshow(Newbuf4);title('3×3中值滤波');
Newbuf5=MedianFilter(J,256,256,5); %5×5中值滤波,调用中值滤波函数
subplot(2,3,6);imshow(Newbuf5);title('5×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行(或列)的像素值复制到边界,以填充边界
f((m-1)/2+1:M+(m-1)/2,1:(m-1)/2)=Oldbuf( : ,1:(m-1)/2);
f((m-1)/2+1:M+(m-1)/2,N+(m-1)/2:N+m-1)=Oldbuf( : ,N-(m-1)/2:N);
f(1:(m-1)/2,(m-1)/2+1:N+(m-1)/2)=Oldbuf(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)/2
精选
.
for s=-(m-1)/2:(m-1)/2
for t=-(m-1)/2:(m-1)/2
g(x,y)=g(x,y)+f(x+s,y+t)*1/(m*m);
end
end
end
end
Im(1:M,1:N)=g((m-1)/2+1:M+(m-1)/2,(m-1)/2+1:N+(m-1)/2);
%将double型转换为uint8型才可以用imshow正常显示
Newbuf=uint8(Im);
%加权平均滤波函数
function Newbuf=WeighFilter(Oldbuf,W,M,N,m)
%Newbuf
%Oldbuf
%W
滤波后图像矩阵
含噪图像矩阵
掩模
%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行(或列)的像素值复制到边界,以填充边界
f((m-1)/2+1:M+(m-1)/2,1:(m-1)/2)=Oldbuf( : ,1:(m-1)/2);
f((m-1)/2+1:M+(m-1)/2,N+(m-1)/2:N+m-1)=Oldbuf( : ,N-(m-1)/2:N);
f(1:(m-1)/2,(m-1)/2+1:N+(m-1)/2)=Oldbuf(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)/2
for s=-(m-1)/2:(m-1)/2
for t=-(m-1)/2:(m-1)/2
g(x,y)=g(x,y)+W(s+(m+1)/2,t+(m+1)/2)*f(x+s,y+t);
end
end
end
end
Im(1:M,1:N)=g((m-1)/2+1:M+(m-1)/2,(m-1)/2+1:N+(m-1)/2);
Newbuf=uint8(Im);
%中值滤波函数
function Newbuf=MedianFilter(Oldbuf,M,N,m)
%Newbuf
滤波后图像矩阵
精选
剩余25页未读,继续阅读
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 华硕B250 PLUS支持6789代BIOS
- 基于javaScript开发的图书管理系统+数据库+源码+项目展示+开发文档(毕业设计&课程设计&项目开发)
- HTML+CSS制作的个人博客网页 2.zip
- 华硕B250M-PIXIU支持6789代BIOS
- c# winfrom 音量控制 静音
- 【OpenHarmony】 ArkTS 语法基础 ② ( ArkTS 自定义组件 )
- 前言(完整版):.zip
- 基于java开发最受欢迎的电影购票系统+源码+数据库+项目文档+项目展示(毕业设计&课程设计&项目开发)
- 基于STM32输液监测系统-源程序,LABVIEW上位机,HMI串口屏
- ESG评分与企业绩效之间的关系
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功