没有合适的资源?快使用搜索试试~ 我知道了~
首页数字图像处理上机作业五(图像处理)
1. 设计一个程序对受到高斯白噪声及椒盐噪声干扰的图像进行3x3,5x5邻域的平均平 滑以及中值滤波. (添加噪声参看imnoise函数, 空域卷积可用imfilter2函数实现) 2. 设计一个程序对受到高斯白噪声及椒盐噪声干扰的图像在频域内分别采用理想低通 和2阶butterworth滤波器进行平滑处理. 3. 用egde函数提取一幅图像的边缘(sobel算子,canny算子,prewitt算子, LOG算 子) 4 根据提供的数据实现CT图像的重建. data的列向量是0~180度的ct扫描数据(投影 数据)。见附件Data.mat
资源详情
资源评论
资源推荐
数字图像第四讲作业
数字图像第四讲作业
1. 设计一个程序对受到高斯白噪声及椒盐噪声干扰的图像进行
3x3,5x5 邻域的平均平滑以及中值滤波. (添加噪声参看 imnoise
函数, 空域卷积可用 imfilter2 函数实现)。
分析:1.邻域平均平滑可以采用 imfilter 函数,选择正确的卷积核就可以进行相
应的邻域平均平滑操作了。3x3 的卷积核为:
H1=1/8*[1 1 1
1 0 1
1 1 1];
5x5 的卷积核为:H2=1/24*[1 1 1 1 1
1 1 1 1 1
1 1 0 1 1
1 1 1 1 1
1 1 1 1 1 ];
2.中值平滑可以先编写中值平滑子函数 zhongzhi(),然后在主函数中调用即
可。以 3*3 中值平滑为例来分析其操作过程,3*3 中值平滑就是将以
各项素为中心的 9 个像素值的中间值作为平滑后的新的像素值赋给
该像素。因此可以通过 I(i-1:i+1,j-1:j+1)得到对应于 I(i,j)点的九个像
素值,然后在由 median 函数可求出这九个值的中值,赋给新矩阵的
(i,j)点即可。
注意 I(i-1:i+1,j-1:j+1)操作可能会有 i-1=0,j-1=0 或 i+1、j+1 大于矩阵最
大行列数的情况,从而出现错误。在这里我的处理是在 I 矩阵的外
围补上一圈 0,即出现上述情况时像素值以 0 来代替。具体代码为:
I0=zeros(m+2,n+2);
for i=2:m+1
for j=2:n+1
I0(i,j)=I(i-1,j-1);
end
end
同理,5*5 的中值平滑也可以同样操作,只不过是在外围补上两圈零而
已。
代码及注释如下:
Page 1 of 14
数字图像第四讲作业
主函数:
clear
I = imread('Lenna.bmp');
J=imnoise(I,'gaussian');
K=imnoise(I,'salt & pepper');
%H1 为 3*3 邻域平滑的卷积核,H2 为 5*5 邻域平滑的卷积核
H1=1/8*[1 1 1
1 0 1
1 1 1];
H2=1/24*[1 1 1 1 1
1 1 1 1 1
1 1 0 1 1
1 1 1 1 1
1 1 1 1 1 ];
J1=imfilter(J,H1); %高斯白噪声的 3*3 邻域平滑
J2=imfilter(J,H2); %高斯白噪声的 5*5 邻域平滑
K1=imfilter(K,H1); %椒盐噪声的 3*3 邻域平滑
K2=imfilter(K,H2); %椒盐噪声的 5*5 邻域平滑
J3=zhongzhi(J,3); %高斯白噪声的 3*3 中值平滑
J4=zhongzhi(J,5); %高斯白噪声的 5*5 中值平滑
K3=zhongzhi(K,3); %椒盐噪声的 3*3 中值平滑
K4=zhongzhi(K,5); %椒盐噪声的 5*5 中值平滑
subplot(131);imshow(J);title('高斯白噪声');
subplot(132);imshow(J1);title('高斯白噪声的 3*3 邻域平滑');
subplot(133);imshow(J2);title('高斯白噪声的 5*5 邻域平滑');
figure
subplot(131);imshow(J);title('高斯白噪声');
subplot(132);imshow(J3);title('高斯白噪声的 3*3 中值平滑');
subplot(133);imshow(J4);title('高斯白噪声的 5*5 中值平滑');
figure
subplot(131);imshow(K);title('椒盐噪声');
subplot(132);imshow(K1);title('椒盐噪声的 3*3 邻域平滑');
subplot(133);imshow(K2);title('椒盐噪声的 5*5 邻域平滑');
figure
subplot(131);imshow(K);title('椒盐噪声');
subplot(132);imshow(K3);title('椒盐噪声的 3*3 中值平滑');
subplot(133);imshow(K4);title('椒盐噪声的 5*5 中值平滑');
中值平滑子函数 zhongzhi()如下:
function J=zhongzhi(I,k)
Page 2 of 14
数字图像第四讲作业
[m,n]=size(I);
if k==3 %3*3 的中值平滑
I0=zeros(m+2,n+2);
for i=2:m+1
for j=2:n+1
I0(i,j)=I(i-1,j-1); %将到操作的图像矩阵 I 外围不上 0
end
end
for i=2:m+1
for j=2:n+1
a=I0(i-1:i+1,j-1:j+1);
b=a(1:9); %将 3*3 的矩阵化成 1*9 的矩阵,便于 median 操作
J(i-1,j-1)=median(b); %取中值,保存为平滑后矩阵 J 的 i-1 行、j-1 列
end
end
else k==5 %5*5 的中值平滑
I0=zeros(m+4,n+4);
for i=3:m+2
for j=3:n+2
I0(i,j)=I(i-2,j-2);
end
end
for i=3:m+2
for j=3:n+2
a=I0(i-2:i+2,j-2:j+2);
b=a(1:25);
J(i-2,j-2)=median(b);
end
end
end
J=uint8(J);
运行结果如下:
1)加高斯白噪声后图像,及 3*3、5*5 邻域平滑
Page 3 of 14
剩余13页未读,继续阅读
yicun261539299
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 数据结构1800题含完整答案详解.doc
- 医疗企业薪酬系统设计与管理方案.pptx
- 界面与表面技术界面理论与表面技术要点PPT学习教案.pptx
- Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf
- 网页浏览器的开发 (2).pdf
- 路由器原理与设计讲稿6-交换网络.pptx
- 火电厂锅炉过热汽温控制系统设计.doc
- 企业识别CIS系统手册[收集].pdf
- 物业管理基础知识.pptx
- 第4章财务预测.pptx
- 《集成电路工艺设计及器件特性分析》——实验教学计算机仿真系.pptx
- 局域网内共享文件提示没有访问权限的问题借鉴.pdf
- 第5章网络营销策略.pptx
- 固井质量测井原理PPT教案.pptx
- 毕业实习总结6篇.doc
- UGNX建模基础篇草图模块PPT学习教案.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2