美文网首页
openCV:图像的平滑去噪

openCV:图像的平滑去噪

作者: SwiftBirds | 来源:发表于2019-09-25 08:01 被阅读0次

基本概念

高频信息与低频信息

低频就是颜色缓慢变化,也就是灰度缓慢地变化,就代表着那是连续渐变的一块区域。相反高频即灰度变化快,相邻区域的灰度差别大,例如边缘,噪点都是灰度变化快的区域。

图像平滑

图像平滑是要突出图像的低频成分、主干部分或抑制图像噪声和干扰高频成分的图像处理方法,目的是使图像亮度平缓渐变,减小突变梯度,改善图像质量。字面意思就是让图像上颜色灰度变化更光滑。我们也称图像平滑为图像模糊,因为在平滑的时候,也失去了尖锐的特点。

图像去噪

现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。那么除去这些噪声的过程就是图像去噪。

图像去噪平滑常见算法

import cv2 #opencv读取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt#Matplotlib是RGB
%matplotlib inline 

def cv_showimg(name,img):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
img = cv2.imread('lenaNoise.png')
cv_showimg('img',img)
原始图像.PNG

均值滤波

均值滤波也成线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用原图像中某个像素临近值的均值代替原图像中的像素值。即滤波器的核(kernel)中所有的系数都相等,然后用该核去对图像做卷积。

  • 优点: 在一定程度上拉小灰度差异,减少噪声影响。对高斯噪声的表现比较好。
  • 缺点: 对图像的边缘处也做均值,导致边缘处变模糊。对椒盐噪声的表现比较差。
blur = cv2.blur(img, (3, 3))
cv_showimg('blur',blur)
均值滤波.PNG

方框滤波

基本和均值一样,即滤波器的核(kernel)中所有的系数都相等。但是它可以选择是否归一化,如果归一化,则和均值滤波毫无差别;若不选择归一化,则会导致像素点的值超过255,发生越界。

# -1表示输出图像和原图像在颜色通道上一致
box = cv2.boxFilter(img,-1,(3,3), normalize=True)  
cv_showimg('box',box)
归一化方框滤波.PNG
box = cv2.boxFilter(img,-1,(3,3), normalize=False)  
cv_showimg('box',box)
方框滤波-越界.PNG

高斯滤波

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

高斯模糊的卷积核里的数值是满足高斯分布,相当于更重视中间的,离得越近的像素点发挥的作用越大。

高斯核主要取决于σ。如果σ越小,高斯分布中心区域更加聚集,平滑效果越差;反之,则更离散,平滑效果越明显。

aussian = cv2.GaussianBlur(img, (5, 5), 75)  
cv_showimg('aussian',aussian)
高斯滤波.PNG

中值滤波

中值滤波器,使用滤波器窗口包含区域的像素值的中值来得到窗口中心的像素值。是一种非线性平滑滤波器。在去噪同时,较好的保持边缘轮廓细节,适合处理椒盐噪声,但对高斯噪声效果不好。

median = cv2.medianBlur(img, 5) 
cv_showimg('median',median)
中值滤波.PNG

双边滤波

双边滤波器是一种可以保边去噪的滤波器,也是一种加权平均滤波器,与高斯滤波不同的是,其滤波核是由两个函数构成,一个函数是由几何空间距离决定滤波器系数,另一个由像素差值决定滤波器系数。
适合处理高斯噪声,但对椒盐噪声基本不起任何作用。

# 5是邻域直径,两个75分别是空间高斯函数标准差、灰度值相似性高斯函数标准差
double = cv2.bilateralFilter(img,5,75,75)
cv_showimg('double',double)
双边滤波.PNG

相关文章

  • openCV:图像的平滑去噪

    基本概念 高频信息与低频信息 低频就是颜色缓慢变化,也就是灰度缓慢地变化,就代表着那是连续渐变的一块区域。相反高频...

  • 图像平滑去噪学习笔记

    本博客内容来源于网络以及其他书籍,结合自己学习的心得进行重编辑,因为看了很多文章不便一一标注引用,如图片文字等侵权...

  • 图像去噪

    图像去噪可以分为固定阈值去噪和自适应阈值去噪 固定阈值去噪 opencv函数(python):cv2.thresh...

  • WACV 2021 论文大盘点-图像质量篇

    编译 | CV君报道 | OpenCV中文网(微信id:iopencv) 本篇是对图像质量相关论文的总结。包含去噪...

  • openCV

    Opencv2图像裁剪(子图像提取) opencv之读取图像 #######opencv读取图像的灰度值并显示出来...

  • iOS OpenCV 图像灰度处理

    iOS OpenCV 图像灰度处理 iOS OpenCV 图像灰度处理

  • OpenCV——Opencv彩色图像在matplot中显示问题的

    OpenCV——Opencv彩色图像在matplot中显示问题的解决 由于OpenCV是以BGR模式加载图像,而m...

  • Python+OpenCV教程7:图像几何变换

    主站:http://ex2tron.wang原文:Python+OpenCV教程7:图像几何变换 学习如何旋转、平...

  • 图像去噪

    图像去噪 图像去噪(noise reduction)也被称为图像噪声清除或者噪声平滑。 Coherence(和谐)...

  • 000 环境搭建

    一、OpenCV学习路线 OpenCV IO模块 - (图像与视频读写) GUI部分 - (窗口与显示) 图像处理...

网友评论

      本文标题:openCV:图像的平滑去噪

      本文链接:https://www.haomeiwen.com/subject/yncluctx.html