Matlab图像处理创新实践-实验1【图像滤波基础(1)】
- Matlab图像处理创新实践-实验1【图像滤波基础(1)】
- Matlab图像处理创新实践-实验2【图像滤波基础(2)】
- Matlab图像处理创新实践-实验3【图像锐化】
- Matlab图像处理创新实践-实验4【大实验——GUI综合设计】
- Matlab实验4——GUI程序操作说明
目 录
一、实验目的
二、实验内容
三、实验过程及结果
步骤1、2、3
步骤4
步骤5、6
步骤7
步骤8
四、分析与思考
附录:代码汇总
一、实验目的
通过简单实验完成对一个图像去除噪声的操作,来熟悉并了解图像处理中空域滤波的概念,通过实际操作掌握滤波器的生成和基本的滤波操作,以完成基本的图像处理目的。
二、实验内容
步骤1:用手机给自己拍一张美照(必须是本人照片);
步骤2:将你的照片放到计算机内;
步骤3:启动Matlab,并通过imread(); 读取该照片,然后通过imshow()进行显示;如果图片过大,可以通过imresize(A,m)进行缩小,其中A为图像,m为尺寸变化系数,比如可设为0.2,尺寸为原来的五分之一;
步骤4:执行noise_im = imnoise(im, 'gaussian');函数,对你刚刚读取到的照片添加一定量的噪声,其中,im代表你刚刚读取到的图像;
步骤5:利用F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器,其中,Size和Sigma的数值自己确定;
步骤6:通过new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作,并观察效果;
步骤7:反复调整第五步中的Size和Sigma两个参数,并反复进行滤波操作,最终将你最满意的结果保存,并显示,同时记录下得到最满意结果时的两个参数值;
步骤8:可尝试迭代操作,即 im = imfilter(im, F); im = imfilter(im, F);……即前一次滤波的结果又作为第二次滤波的输入参数。这样迭代多次,观察效果,并选择出迭代次数以及和Size,Sigma两个参数的最佳搭配值。
三、实验过程及结果
【在这里描述下你的实验操作过程和相应代码,以及你得到的最终结果,需图文并茂。】
步骤1、2、3
步骤1:用手机给自己拍一张美照(必须是本人照片);
步骤2:将你的照片放到计算机内;
步骤3:启动Matlab,并通过imread(); 读取该照片,然后通过imshow()进行显示;如果图片过大,可以通过imresize(A,m)进行缩小,其中A为图像,m为尺寸变化系数,比如可设为0.2,尺寸为原来的五分之一;
步骤4
步骤4:执行noise_im = imnoise(im, 'gaussian');函数,对你刚刚读取到的照片添加一定量的噪声,其中,im代表你刚刚读取到的图像;
步骤5、6
步骤5:利用F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器,其中,Size和Sigma的数值自己确定;
步骤6:通过new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作,并观察效果;
步骤7
步骤7:反复调整第五步中的Size和Sigma两个参数,并反复进行滤波操作,最终将你最满意的结果保存,并显示,同时记录下得到最满意结果时的两个参数值;
步骤8
步骤8:可尝试迭代操作,即 im = imfilter(im, F); im = imfilter(im, F);……即前一次滤波的结果又作为第二次滤波的输入参数。这样迭代多次,观察效果,并选择出迭代次数以及和Size,Sigma两个参数的最佳搭配值。
四、分析与思考
【在此描述下你从该实验中得出的结论,并对实验结果进行分析,解释下为什么高斯滤波器可以去除噪声,可以查阅资料。】
此次试验,学习了如何使用Matlab对图像进行处理(展示图像、放大图像、缩小图像、噪声处理等)。还学习了高斯滤波器,高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像,其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。
附录:代码汇总(ex1.m)
%--------步骤3--------
x = imread('E:/zunlong.jpg'); % 读取图片:将图像数据读取到Matlab环境中
imshow(x); % 显示图片
% 警告: Image is too big to fit on screen; displaying at 8%
% > In imuitools\private\initSize at 71
% In imshow at 282 %--------步骤3--------
smallx = imresize(x, 0.5); %在保持图像形状的基础上对图像的大小进行改变
figure, imshow(smallx); % 显示图片% --------步骤4--------
x = imread('E:/zunlong.jpg'); % 读取图片:将图像数据读取到Matlab环境中
smallx = imresize(x, 0.5); %在保持图像形状的基础上对图像的大小进行改变noise_x = imnoise(smallx, 'gaussian'); % 噪声处理 对刚刚读取到的照片添加一定量的噪声,其中,im代表刚刚读取到的图像;
figure, imshow(noise_x); % figure: 生成新的图片窗口,不覆盖原窗口% --------步骤5--------
F = fspecial('gaussian', 5, 1); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器%--------步骤6--------
x = imread('E:/zunlong.jpg'); % 读取图片:将图像数据读取到Matlab环境中
smallx = imresize(x, 0.5); %在保持图像形状的基础上对图像的大小进行改变
noise_x = imnoise(smallx, 'gaussian'); % 噪声处理 对刚刚读取到的照片添加一定量的噪声,其中,im代表刚刚读取到的图像;F = fspecial('gaussian', 5, 1); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器
new_im1 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
imshow(new_im1); % figure, F = fspecial('gaussian', 50, 1); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器
new_im2 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
imshow(new_im2); % figure, F = fspecial('gaussian', 50, 30); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器
new_im3 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
imshow(new_im3); % figure, subplot(2,2,1);imshow(x);title('原图');
subplot(2,2,2);imshow(smallx);title('缩小至原来的0.05倍');
subplot(2,2,3);imshow(imnoise(x, 'gaussian'));title('加噪');
subplot(2,2,4);imshow(imfilter(noise_x, fspecial('gaussian', 5, 1)));title('滤波处理');% --------步骤7--------
x = imread('E:/zunlong.jpg'); % 读取图片:将图像数据读取到Matlab环境中
smallx = imresize(x, 0.05); %在保持图像形状的基础上对图像的大小进行改变
noise_x = imnoise(smallx, 'gaussian'); % 噪声处理 对刚刚读取到的照片添加一定量的噪声,其中,im代表刚刚读取到的图像;F = fspecial('gaussian', 5, 1); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器
new_im1 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
subplot(2,2,1), imshow(new_im1),title('原始图像');F = fspecial('gaussian', 50, 1); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器
new_im2 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
subplot(2,2,2), imshow(new_im2),title('Size、Sigma:50、1');F = fspecial('gaussian', 50, 5); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器
new_im3 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
subplot(2,2,3), imshow(new_im3),title('Size、Sigma:50、5');F = fspecial('gaussian', 100, 1); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器
new_im4 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
subplot(2,2,4), imshow(new_im4),title('Size、Sigma:100、1');%--------步骤8--------
x = imread('E:/zunlong.jpg'); % 读取图片:将图像数据读取到Matlab环境中
smallx = imresize(x, 0.5); %在保持图像形状的基础上对图像的大小进行改变
noise_x = imnoise(smallx, 'gaussian'); % 噪声处理 对刚刚读取到的照片添加一定量的噪声,其中,im代表刚刚读取到的图像;F = fspecial('gaussian', 50, 1); % F = fspecial('gaussian', Size, Sigma);生成一个高斯滤波器new_im5 = imfilter(noise_x, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
figure, imshow(new_im5);new_im6 = imfilter(new_im5, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
figure, imshow(new_im6);new_im7 = imfilter(new_im6, F); % new_im = imfilter(noise_im, F)函数对添加了噪声的图像进行滤波操作
figure, imshow(new_im7);
Matlab图像处理创新实践-实验1【图像滤波基础(1)】相关推荐
- Matlab图像处理创新实践-实验2【图像滤波基础(2)】
Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...
- Matlab图像处理创新实践-实验3【图像锐化】
Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...
- Matlab图像处理创新实践-实验4【综合设计大实验——GUI综合设计】
Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...
- 【OpenCV 例程200篇】78. 频率域图像滤波基础
[OpenCV 例程200篇]78. 频率域图像滤波基础 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 频率域 ...
- 2020-2021学年——图像图形编程实践实验4_Canny图像边缘检测
Canny图像边缘检测 实验目的 了解并掌握使用微分算子进行图像边缘检测的基本原理: 了解Canny边缘检测原理与实现,进一步理解图像锐化的实质. 实验设备 PC机.matlab2018b 实验原理 ...
- 2020-2021学年——图像图形编程实践实验2_图像的基本运算
图像的基本运算 实验目的 1.了解图像的算术运算在数字图像处理中的初步应用; 2.体会图像算术运算处理的过程和处理前后图像的变化. 实验设备 PC机.matlab2018b 实验原理 图像的代数运 ...
- 2020-2021学年——图像图形编程实践实验1_图像二值化
图像二值化 实验目的 1.熟练掌握在MATLAB中如何读取图像. 2.掌握如何利用MATLAB来获取图像的大小.颜色.高度.宽度等等相关信息. 3.掌握如何在MATLAB中按照指定要求存储一幅图像的方 ...
- OpenCV2:图像滤波基础
http://www.myexception.cn/image/1853919.html 一:基本概念 滤波是数字图像处理中的一个基本操作,在信号处理领域可以说无处不在.图像滤波,即在尽量保留图像细节 ...
- 图像滤波基础知识:图像与波的关系以及图像噪声知识
☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░ 一.引言 老猿对图像处理基础知识非常缺乏,所以OpenCV-Python的学习进度很慢 ...
最新文章
- Android开发实践:以“专业”的态度处理多线程
- R语言构建xgboost模型:交叉验证(cross validation)训练xgboost模型
- 详解「递归」正确的打开方式
- ASP正则表达式方面小笔记
- java毕业实习日志_《Java课程实习》日志(周一)
- HG30A-3多用表校验仪
- 说说域名、二级域名和主机名的联系区别
- 重装后显示计算机无法联网,Win10重装系统后无法联网如何解决
- buuctf————[Zer0pts2020]easy strcmp
- app与后台通信完整流程
- mysql反删除恢复软件下载_MySQL Recovery(MySQL恢复软件)下载 v4.1官方版-下载啦
- [数论 斐波那契] 51nod1355. 斐波那契的最小公倍数
- [RK3288][Android5.1] 移植笔记 --- eDP显示屏添加
- 什么是WiFi 7?| 奇怪的知识又增加了……
- iebook模板制作器与iebook模…
- Q for Mortals2笔记 -- 字典
- 神经网络权值和阈值范围,神经网络的权值和阈值
- 企业如何做好数据管理?产品选型怎么做?
- 【观察】纷享销客:中国SaaS CRM市场的“破壁人”
- linux添加ax88772b驱动,佳能 USB 2.0 to Fast Ethernet AX88772B 驱动程序下载-更新佳能软件(以太网控制器)...
热门文章
- 北航java大作业,北航成人继续教育 本科 计算机科学与技术 JAVA——大作业.doc
- java project 部署_关于Java Project项目在Linux下部署步骤及注意事项
- hashCode() 和equals() 区别和作用
- 六、最通俗易懂的JavaScript进阶教程(二)
- AAAI 2022 | 北航提出基于特征纯化的视线估计算法,让机器更好地“看见”
- 再谈变分自编码器(VAE):估计样本概率密度
- 知识表示与融入技术前沿进展及应用
- 直播报名 | 官方解读NVIDIA黑科技:StyleGAN的架构与实现
- POJ 2251 Dungeon Master(三维BFS求最短路径)
- 算法竞赛入门与进阶 (一)枚举