图像去模糊(逆滤波)
来源:互联网 发布:施工动画软件 编辑:程序博客网 时间:2024/06/05 11:22
引言
图像模糊是一种拍摄常见的现象,我曾在图像去模糊(维纳滤波) 介绍过。这里不再详述,只给出物理模型,这里我们仍在频率域表示
其中提到最简单的复原方法是直接做逆滤波(Inverse filter)。
该除法是阵列操作,即按位除。
在含有噪声情况下,将(1)式两端除以
这里
下面我将用代码说明一下逆滤波,这里我采用直接编码形式。对了,前面我提到过,当噪声信息比
NSR
等于0时,此时维娜滤波等同于逆滤波。因此可以直接使用matlab自带deconvwnr函数,将第三个参数NSR
设置成0即可,省事的同学可以试一下。代码
close all;clear all;clc;% Display the original image.I = im2double(imread('lena.jpg'));[hei,wid,~] = size(I);subplot(2,3,1),imshow(I);title('Original Image (courtesy of MIT)');% Simulate a motion blur.LEN = 21;THETA = 11;PSF = fspecial('motion', LEN, THETA);blurred = imfilter(I, PSF, 'conv', 'circular');subplot(2,3,2), imshow(blurred); title('Blurred Image');% Inverse filterIf = fft2(blurred);Pf = fft2(PSF,hei,wid);deblurred = ifft2(If./Pf);subplot(2,3,3), imshow(deblurred); title('Restore Image')% Simulate additive noise.noise_mean = 0;noise_var = 0.0001;blurred_noisy = imnoise(blurred, 'gaussian', ... noise_mean, noise_var);subplot(2,3,4), imshow(blurred_noisy)title('Simulate Blur and Noise')% Try restoration assuming no noise.If = fft2(blurred_noisy);deblurred2 = ifft2(If./Pf);subplot(2,3,5), imshow(deblurred2)title('Restoration of Blurred Assuming No Noise');% Try restoration with noise is known.noisy = blurred_noisy - blurred;Nf = fft2(noisy);deblurred2 = ifft2(If./Pf - Nf./Pf);subplot(2,3,6), imshow(deblurred2)title('Restoration of Blurred with Noise Is Known')
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
这里使用了经典的lena图是灰度图像,分别对图像进行运动模糊,逆滤波,运动模糊+高斯噪声,假定噪声未知直接逆滤波,噪声已知逆滤波。
效果
说明
逆滤波对噪声非常敏感,除非我们知道噪声的分布情况(事实上,这也很难知道),逆滤波几乎不可用,可以从二排中间看出,恢复图像效果极差。但若知道噪声分布,也是可以完全复原信息的。可以从二排最后一张图可以看出。写作本文的目的也仅是在数学角度上对图像模糊现象进行分析,后续会介绍更加有效的图像复原方法,敬请关注。
相关阅读及参考文献
图像去模糊(维纳滤波) http://blog.csdn.net/bluecol/article/details/46242355
图像去模糊(约束最小二乘滤波) http://blog.csdn.net/bluecol/article/details/47359421
数字图像处理(第三版) 冈萨雷斯著 chapter 5,图像复原与重建
转载请保留以下信息
0 0
- 图像去模糊(逆滤波)
- 图像去模糊(逆滤波)
- 图像去模糊(逆滤波)
- 基于逆滤波的图像去模糊
- 图像去模糊(维纳滤波)
- 图像去模糊(约束最小二乘方滤波)
- 图像去模糊(约束最小二乘方滤波)
- 基于最小均方差(维纳)滤波的图像去模糊
- 图像平滑、滤波、模糊
- 图像去模糊
- 【转】图像去模糊
- 图像的去模糊
- 图像模糊--快速均值滤波
- 图像模糊--高斯滤波
- 图像去模糊(一)——理解模糊核
- 克服维纳滤波去运动模糊后图像中出现的白点
- 高斯(Guassian)模糊 图像滤波 基本原理介绍
- 基于模糊滤波的数字图像去噪
- git命令大全
- 算法设计与优化编程 第十讲 Subway
- UVALive 7500 Boxes and Balls (二分)
- Java8之Lambda表达式
- CSS样式
- 图像去模糊(逆滤波)
- 首页 干货教程 大数据动向 大数据应用 数据可视化 数据分析 投资并购 企业专区 注册 登录 随机森林入门攻略(内含R、Python代码)
- 希尔排序
- 【OpenCV】颜色空间(RGB,HSV与Gray)及图像处理中的颜色识别
- DCI format 5A相关学习
- 21. Merge Two Sorted Lists leetcode(lists)
- Retrofit开发指南
- 一个Android程序员的第一年
- Python3在Windows安装配置及简单试用