基于python-tensorflow的机器视觉学习手札 (1.5)图像处理篇-图像复原技术

图像复原最基本的任务是去除图像中的噪声的同时,不丢失图像中的细节。然而抑制噪声(高频)与保留细节(高频)是一对矛盾的问题。
图像复原与图像增强都是为了改善图像的质量,但本质上有所区别。图像增强不考虑图像是如何退化的,而是试图用各种技术来增强图像的视觉效果;而图像复原需要知道图像退化的机制与过程,找到一种相应的逆处理方法,从而得到恢复后的图像。

1. 噪声

噪声可以分为加性噪声和乘性噪声两种。
细分,可以分为高斯噪声,椒盐噪声,均匀分布噪声,指数分布噪声,gamma分布噪声等。在matlab中,加入噪声只需要imnoise就可以实现。

2. 空域滤波

空域内的滤波复原方法,主要包括均值滤波复原、顺序统计滤波复原、和自适应滤波复原。

2.1 均值滤波复原

均值滤波复原就是用均值滤波算子作为卷积核计算。分为算术均值滤波和几何均值滤波。
在matlab中,算术均值滤波就是直接进行滤波:
A = imfilter(Img, psf);
而几何均值滤波则是对图像取对数,再进行滤波,然后取指数:A=exp(imfilter(log(Img),psf));
python中也可以用filter2d与numpy包来实现类似功能。
此外,还有一个逆谐波均值滤波器,有一个参数Q,用matlab实现的代码为(其实是写公式有些麻烦):

Q = 1.5;    A = imfilter(img.^(Q+1),psf)./imfilter(img.^Q,psf);

Q为正值时,可以去除椒噪声;Q为负值时,可以去除盐噪声。当Q = -1时,该滤波器为谐波均值滤波器。我也不知道opencv库中有没有这个功能(反正toturial里面没有),不过可以很简单的用numpy与filter2d来实现这个功能(照着公式填就完了)。

2.2 顺序统计滤波复原

顾名思义,顺序统计滤波就是把一个像素值周围的邻域所有元素排序,其最大值/最小值/中值就为该点复原后的值。这种方法可以用于去除椒盐噪声。在matlab中,用函数medfilt(中值滤波)与or

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值