数字图像处理第三次试验:图像复原、图像分割

  • 前前言
  • 前言
  • 一、实验目的
  • 二、实验主要仪器设备
  • 三、实验原理
  • 四、实验内容
  • 五、实验步骤
  • 六、实验程序
  • 七、实验报告要求
  • 八、预习要求
  • 九、思考题

前前言

本次实验老师要求图像复原、图像分割两个实验写到一个实验报告内。因此为区分两个实验,我在标明括号时重新标号,以示区分。

前言

为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正!

一、实验目的

(1)了解图像复原的原理。
(2)掌握常用的图像复原方法。
(1)熟悉MATLAB图像处理工具箱的使用方法。
(2)熟悉图像边缘检测的方法。
(3)理解边缘检测在图像分割中的应用。

二、实验主要仪器设备

(1)台式计算机或笔记本电脑
(2)MATLAB软件(含图像处理工具箱)
(3)典型的灰度、彩色图像文件。

三、实验原理

(1)了解不同条件下的图像退化成因和处理方法。
(2)根据退化的数学模型对退化图像进行处理,恢复原始图像。
(1)MATLAB采用查分、梯度、拉普拉斯算子以及各种高通滤波处理方法可以对图像边缘进行检测。检测的方法有梯度算子、拉普拉斯算子、方向算子、坎尼算子,各种方法实现的原理可以参考本章中的相关各节的内容。

四、实验内容

(1)利用维纳滤波对有噪声模糊图像进行复原。
(2)比较直接维纳滤波、设置信噪比参数、设置噪声和自相关函数这三种情况下的图像复原效果。
(1)利用MATLAB图像处理工具箱提供的DEMOS进行实验。
(2)利用MATLAB图像处理工具箱的边缘检测函数编程进行边缘检测。
(3)理解边缘检测在图像分割中的应用,比较各种边缘检测方法。

五、实验步骤

(1)选择图7.23所示的原始图像作为测试图像。
(2)设计图像复原算法。
(3)设置维纳滤波中的相关参数。
(4)显示原始图像和复原后的重建图像。
(5)通过修改这些参数来观察参数对图像复原效果的影响。
(1)仿照本书例题,选择不同图像、不同的检测方法、不同的阈值,编程实现边缘检测并观察检测结果。

六、实验程序

I=imread('BaboonRGB.tif');
%I=imread('Barbara.tif');
%I=imread('eight.tif');
figure,subplot(3,3,1),imshow(I);title('原始图像');
LEN=45; THETA=20; %运动模型参数
PSF=fspecial('motion',LEN,THETA); %运动模糊模型
B=imfilter(I,PSF,'circular','conv'); %模糊化图像
subplot(3,3,2),imshow(B); title('运动图像');
noise=imnoise(zeros(size(I)),'gaussian',0,0.01);
C=imnoise(B,'gaussian',0,0.01);
subplot(3,3,3),imshow(C); title('加噪图像');
NSP1=sum(noise(:).^2)/sum(im2double(I(:)).^2);
NP=abs(fftn(noise)).^2;
NCORR=fftshift(real(ifftn(NP)));%噪声自相关函数
IP=abs(fftn(im2double(I))).^2;
ICORR=fftshift(real(ifftn(IP)));%图像自相关函数
J1=deconvwnr(C,PSF);
subplot(3,3,4),imshow(J1);title('直接维纳滤波');
J2=deconvwnr(C,PSF,NSP1);
subplot(3,3,5),imshow(J2);title('设置信噪比参数的维纳滤波');
J3=deconvwnr(C,PSF,NCORR,ICORR);
subplot(3,3,6),imshow(J3);title('设置噪声和自相关函数的维纳滤波');
subplot(3,3,7),imshow(deconvwnr(C,fspecial('motion',2*LEN,THETA)));title('设置较长的PSF还原');
subplot(3,3,8),imshow(deconvwnr(C,fspecial('motion',LEN,2*THETA)));title('设置较陡峭的PSF还原');



I=imread('rice.png');
subplot(3,3,1),imshow(I); title('原图像');
bw1=edge(I,'roberts');
subplot(3,3,2),imshow(bw1,[]); title('Roberts算子检测图像');
bw2=edge(I,'prewitt');
subplot(3,3,3),imshow(bw2,[]); title('Prewitt算子检测图像');
bw3=edge(I,'sobel');
subplot(3,3,4),imshow(bw3,[]); title('Sobel算子检测图像');
bw4=edge(I,'log');
subplot(3,3,5),imshow(bw4,[]); title('LoG算子检测图像');
bw5=edge(I,'canny');
subplot(3,3,6),imshow(bw5,[]); title('Canny算子检测图像');I=imread('eight.tif');
subplot(3,3,1),imshow(I); title('原图像');
bw1=edge(I,'roberts');
subplot(3,3,2),imshow(bw1,[]); title('Roberts算子检测图像');
bw2=edge(I,'prewitt');
subplot(3,3,3),imshow(bw2,[]); title('Prewitt算子检测图像');
bw3=edge(I,'sobel');
subplot(3,3,4),imshow(bw3,[]); title('Sobel算子检测图像');
bw4=edge(I,'log');
subplot(3,3,5),imshow(bw4,[]); title('LoG算子检测图像');
bw5=edge(I,'canny');
subplot(3,3,6),imshow(bw5,[]); title('Canny算子检测图像');


七、实验报告要求

(1)说明图像复原原理与算法
(2)原始图像和复原后的重建图像
(3)对同一副图像,比较直接维纳滤波、设置信噪比参数、设置噪声和自相关函数这三种情况下的图像复原效果。
(4)回答思考题
(5)撰写心得和体会
(1)说明利用MATLAB图像处理工具箱进行边缘检测的方法。
(2)记录某一图像经各种检测方法检测后的图像。
(3)分析检测结果。
(4)回答思考题。
(5)撰写心得和体会。

八、预习要求

(1)了解图像复原的基本原理和算法
(2)掌握IPT中有关图像复原的函数
(3)画出维纳滤波复原方法的流程框图,编写相应的程序。
(1)了解MATLAB图像处理工具箱中边缘检测函数的功能。
(2)了解图像边缘检测的原理。

九、思考题

(1)比较维纳滤波复原方法与其他复原方法的适用范围。
答:维纳滤波在图像受噪声影响时效果比逆滤波要好,而且噪声越强优势越明显。
(2)为了尽量提高图像重建质量,应该如何设置其中的参数?
答:应尽可能详细且正确地设定复原函数所对应的参数。
(1)说明图像边缘检测的原理
答:边缘是图像上灰度变化最明显的地方,传统边缘检测利用此特点,对图像各像素点进行求微分或二阶微分来定位边缘像素点。由灰度变化特点,可将边缘类型分为阶梯状、脉冲状和屋顶状三种。对于阶梯状,图像边缘点对应一阶微分图像的峰值和二阶微分图像的零交叉处;对于脉冲状和屋顶状边缘,边缘点对应一阶导数的零交叉和二阶导数的峰值。
(2)比较不同图像的边缘检测的差别,并分析原因。
答:对于不同算法对不同图像的运算及落实,发现其优劣各有不同。

数字图像处理第三次试验:图像复原、图像分割相关推荐

  1. 【计算机视觉】数字图像处理(三)—— 图像变换原理分析

    数字图像处理(三)-- 图像变换原理分析 一.图像变换的目的与用途 1. 图像变换的目的 2. 图像正交变换的要求 正交变换的应用 (一).傅里叶变换 1.傅里叶变换的理论基础与基本定义 2.连续函数 ...

  2. 数字图像处理的三个层次

    数字图像处理分为三个层次:低级图像处理.中级图像处理和高级图像处理(狭义图像处理.图像分析和图像理解). 狭义图像处理:对输入图像进行某种变换得到输出图像,是一种图像到图像的过程. (1)低级图像处理 ...

  3. 数字图像处理第三版(冈萨雷斯)——第一章绪论

    数字图像处理第三版(冈萨雷斯)--第一章绪论 一.主要目的 二.关于什么是数字图像处理的几个重要概念 2.1 强度或灰度: 2.2 数字图像: 2.3 数字图像处理: 2.4 像素: 2.5 低级.中 ...

  4. 数字信号处理第三次试验:用FFT对信号作频谱分析

    数字信号处理第三次试验:用FFT对信号作频谱分析 前言 一.实验目的 二.实验原理与方法 三.实验环境 四.实验内容及步骤 五.实验结果截图(含分析) 六.思考题 前言 为了帮助同学们完成痛苦的实验课 ...

  5. 图像插值和缩放(matlab自实现)--冈萨雷斯《数字图像处理第三版》

    图像插值和缩放(matlab自实现) 1.Explanations of interpolation(插值释义) 1.1 Nearest Neighbor Interpolation(最近邻插值) 1 ...

  6. 【python】数字图像处理课程设计:彩色图像复原

    先上效果图,对于jpg图片,在一分钟内处理完成,以下分别是原始图片,彩色图像,自动裁剪等优化后的图像. 对于tif图片,在三分钟内处理完成,以下分别是原始图片,彩色图像,裁剪等优化后的图像.(原图为6 ...

  7. 数字图像处理第三章边缘检测(Sobel算子、Laplace算子)

    边缘 边缘(edge)是指图像局部强度变化最显著的部分.主要存在于目标与目标.目标与背景.区域与区域(包括不同色彩)之间,是图像分割.纹理特征和形状特征等图像分析的重要基础. 边缘检测概念 1.边缘检 ...

  8. 数字图像处理——第三章 空间域图像增强(空间滤波)

    文章目录 1. 空间滤波基础 2. 线性滤波器 2.1 平滑空间滤波器 2.2 锐化空间滤波器 2.2.1 基于一阶微分的图像增强--梯度法 2.2.2 基于二阶微分的图像增强--拉普拉斯算子 3. ...

  9. 数字图像处理——第三章 空间域图像增强(灰度变换和直方图处理)

    文章目录 空间域图像增强 1. 背景知识 2. 基本灰度变换 2.1 图像反转 2.2 对数变换 2.3 幂次变换 2.4 分段线性变换函数 2.4.1 对比拉伸 2.4.2 灰度切割 2.4.3 位 ...

  10. 【数字图像处理】三.MFC实现图像灰度、采样和量化功能详解

    本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP格式图片,并通过Bitmap进行灰度 ...

最新文章

  1. IDEA插件-生成对象所有set方法--->GenerateAllSetter
  2. strut2配合json返回数据json对象
  3. 【机器学习】从电影数据集到推荐系统
  4. Making the Grade POJ - 3666(离散化+dp)
  5. 6位密码锁的c语言编程,51单片机4*3矩阵键盘6位密码锁c语言程序
  6. leetcode python3 简单题198. House Robber
  7. 基于用户名/密码认证和流量控制 安装pam_mysql(太麻烦,已放弃;以下步骤可以参考,有报错解决...
  8. windows共享文件设置虚拟服务器访问,怎么让虚拟机和宿主机之间互相访问共享文件夹...
  9. 最易学和最难学的编程语言 Top 5
  10. C++ delete指针需置空
  11. stack corruption detected (-fstack-protector)
  12. qq飞车鸿蒙车队,qq飞车手游鸿蒙版
  13. Bzoj3236:[Ahoi2013]作业:莫队算法+树状数组
  14. ffmpeg statis vs dev技术选型?
  15. 让学前端不再害怕英语单词(三)
  16. JAVA测试题-定义一个运动员(Sportsman)类,包含姓名(name)、跳高(highJump)
  17. 计算机专业简历教育背景怎么写,简历中教育背景怎么写?填写教育背景注意事项...
  18. Markdown做笔记或写博客
  19. PHP读取Excel文件(PHPExcel)
  20. C语言sin函数实现(基于泰勒公式)

热门文章

  1. PMP 考点 第六章 项目进度管理
  2. 手机+PC电脑如何使用油猴插件和油猴脚本?
  3. Ubuntu 16.04 安装无线网卡 Tenda U12
  4. java 多线程 面试题整理(更新......)
  5. stm32f407zg跟ze的区别_STM32F103ZE和STM32F207ZG的芯片区别
  6. c++实现高斯滤波器
  7. PlatformIO开发STM8S003F3P6
  8. MySQL之环境变量配置
  9. 华为U2000北向接口开发中遇到的坑——获取HW_MSTPInventory管理对象失败
  10. Idea 破解版下载指南