数字图像处理实验(13):PROJECT 05-04,Parametric Wiener Filter 标签: 图像处理MATLAB 2017-05-27 10:59
实验要求:
Objective:
To understand the high performance of the parametric Wiener Filter in image restoration when there are additive noise after the image degradation.
Main requirements:
Ability of programming with C, C++, or Matlab.
Instruction manual:
(a) Implement a blurring filter as in Eq. (5.6-11).
(b) Blur image 5.26(a) in the +45o direction using T = 1, as in Fig. 5.26(b).
(c) Add Gaussian noise of 0 mean and variance of 10 pixels to the blurred image.
(d) Restore the image using the parametric Wiener filter given in Eq. (5.8-3).
本实验属于图像复原技术,使用参数维纳滤波进行图像复原。实验中向图像添加了高斯噪声和运动模糊,最后用参数维纳滤波器复原图像。
%
close all;
clc;
clear all;
% 读取图像
img = imread('Fig5.26(a).jpg');
img = im2double(img);
figure;
subplot(2,3,1);
imshow(img);
title('original image');
% 模糊图像
PSF = fspecial('motion', 30, 45);
img1 = imfilter(img, PSF, 'conv', 'circular');
subplot(2,3,2);
imshow(img1);
title('filtered image');
% 添加高斯噪声
noise_var = 0.001;
img2 = imnoise(img1, 'gaussian', 0, noise_var);
subplot(2,3,3);
imshow(img2);
title('add gaussian noise');
% 参数维纳滤波,NSR直接给0
% Specifying 0 for the NSR is equivalent to creating an ideal inverse filter.
% img3 = deconvwnr(img2, PSF, 0.012);
img3 = deconvwnr(img2, PSF, 0.0);
subplot(2,2,3);
imshow(img3);
title('Restoration of Blurred, Noisy Image Using NSR = 0');
% 参数维纳滤波,计算方差
% img = double(img);
estimated_NSR = noise_var / var(img(:));
img4 = deconvwnr(img2, PSF, estimated_NSR);
subplot(2,2,4);
imshow(img4);
title('Restoration of Blurred, Noisy Image Using Estimated NSR');
实验结果:
上面一行的图像分别是原始图像,模糊后的图像,以及添加高斯噪声后的图像;
下面一行的图像分别是调用维纳滤波器的两种情况,一个是不给参数,默认直接给0,另一个是使用方差计算参数后调用维纳滤波器得到的正确滤波结果。
数字图像处理实验(13):PROJECT 05-04,Parametric Wiener Filter 标签: 图像处理MATLAB 2017-05-27 10:59的更多相关文章
- 数字图像处理实验(总计23个)汇总 标签: 图像处理MATLAB 2017-05-31 10:30 175人阅读 评论(0)
以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...
- 数字图像处理实验(5):Proj03-01 ~ Proj03-06 标签: 图像处理matlab 2017-04-30 10:39 184人阅读
PROJECT 03-01 : Image Enhancement Using Intensity Transformations 实验要求: Objective To manipulate a te ...
- kFreeBSD 7.0于2013/05/04发布 桌面环境 GNOME 3....
kFreeBSD 7.0于2013/05/04发布 桌面环境 GNOME 3.4, KDE 4.8.4, Xfce 4.8, and LXDE
- 05 SpringMVC:02.参数绑定及自定义类型转换&&04.SpringMVC返回值类型及响应数据类型&&05.文件上传&&06.异常处理及拦截器
springMVC共三天 第一天: 01.SpringMVC概述及入门案例 02.参数绑定及自定义类型转换 03.SpringMVC常用注解 第二天: 04.SpringMVC返回值类型及响应数据类型 ...
- Django 05 自定义过滤器、自定义标签
Django 05 自定义过滤器.自定义标签 一.自定义过滤器 #1.在项目目录下创建一个python package包 取名为common(这个名字可以自定义) #2.在common目录下创建一个t ...
- # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机
[ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...
- 数字图像处理实验(17):PROJECT 06-04,Color Image Segmentation 标签: 图像处理MATLAB 2017-05-27 21:13
实验报告: Objective: Color image segmentation is a big issue in image processing. This students need to ...
- 数字图像处理实验(16):PROJECT 06-03,Color Image Enhancement by Histogram Processing 标签: 图像处理MATLAB 2017
实验要求: Objective: To know how to implement image enhancement for color images by histogram processing ...
- 数字图像处理实验(15):PROJECT 06-02,Pseudo-Color Image Processing 标签: 图像处理MATLAB 2017-05-27 20:53
实验要求: 上面的实验要求中Objective(实验目的)部分是错误的. 然而在我拿到的大纲中就是这么写的,所以请忽视那部分,其余部分是没有问题的. 本实验是使用伪彩色强调突出我们感兴趣的灰度范围,在 ...
随机推荐
- 解决ubantu中sublime不支持中文的方法
更新然后将系统升级到最新版本,在linux终端输入 sudo apt-get update && sudo apt-get 在本地目录中克隆此repo: 如果你没有git的话就安 ...
- FPGA学习中的代码阅读
不管是学FPGA还是C语言,任何一种代码的学习都离不开大量的代码阅读,也就是多看,多学习别人的代码.初学者在学习的过程中更为重要的是模仿,模仿别人的代码算法怎么去处理的,模仿多了,代码看的多了,能力自 ...
- jenkins 离线安装插件 ,插件的下载地址
http://updates.jenkins-ci.org/download/plugins/ 来源:https://blog.csdn.net/liyuming0000/article/detail ...
- 【转】Jmeter + DadBoby 安装使用
一直接触LR比较多,这阵子突然想了解一下开源的性能测试工具,无意中接触到了Jmeter+Badboy,这两款工具对于想进行性能测试,但又对LR高额的商业费用望而止步的小公司可谓是再适合不过了. 自已小 ...
- 使用Tomcat+Redis来实现集群部署中的Session共享问题
一.工作中因为要使用到Tomcat集群部署,此时就涉及到了Session共享问题,主要有三种解决方案: 1.使用数据库来存储Session 2.使用Cookie来存储Session 3.使用Redis ...
- microtime() 测试代码执行时间,提高编码效率
<?php $b_time = microtime(true); $a = array("); $count = ; foreach ($a as $key => $value) ...
- python开发函数进阶:内置函数
一,内置函数 #内置的模块#拿过来直接就用的:内置的函数 #!/usr/bin/env python #_*_coding:utf-8_*_ #内置的模块 #拿过来直接就用的:内置的函数 #作用域相关 ...
- C#多线程List的非线程安全性
背景:最近在做多线程方面的工作,工作中发现多线程中很多坑,这里就有一个List添加对象的误区,这里做个分享跟大家讲讲这个坑是怎么形成的怎么样避免. 示例: 代码及错误: 如果单单只从程序逻辑上看,应该 ...
- hadoop集群配置和在windows系统上运用java操作hdfs
安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit. ...
- php文件上传总结
前言: 学习php中 1.表单代码: <html> <head> <title>文件上传</title> </head> <body ...