Opencv(三):图像滤波及去噪

一、重点

图像滤波的基本原理

图像预处理滤波方法

数学形态学滤波

二、滤波公式

图像滤波类似于卷积,使用n*n的矩阵计算,示意图如下:

三、滤波器类型

(1)平均滤波

滤波器内部元素均为1,如下所示:

(2)加权平均滤波

如高斯滤波,滤波器内部元素呈高斯分布形状,如下所示:

(3)中值滤波

确定窗口位置,该窗口位置智能有奇数个像素,将像素灰度值按大小排列,取中间值,如下所示:

中值滤波对椒盐噪声效果较好

三、图像形态学操作

(1)膨胀

(2)腐蚀

(3)开闭运算

开运算:先腐蚀后膨胀

闭运算:先膨胀后腐蚀

使用先开后比闭的操作,可以有效的去除噪声

四、函数实现

import cv2 as cvlena = cv.imread("E:/A_linpan/cv_code_tom/hello_world/data/lena.jpg")
gauss = cv.GaussianBlur(lena, (3,3), 0)cv.imshow('gauss', gauss)
cv.imshow('lena', lena)
cv.waitKey()
cv.destroyAllWindows()

如下图所示,经过高斯滤波以后的图像较原始图像模糊一些,去除噪声。

2. 中值滤波

import cv2 as cvlena = cv.imread("E:/A_linpan/cv_code_tom/hello_world/data/lena.jpg")
median = cv.medianBlur(lena, 3)
cv.imshow("median", median)
cv.imshow('lena', lena)
cv.waitKey()
cv.destroyAllWindows()

如下图所示,经过中值滤波的图像较原始图像模糊。

3. 形态学滤波

import cv2 as cvlena = cv.imread("E:/A_linpan/cv_code_tom/hello_world/data/baboon.jpg")
morph = cv.morphologyEx(lena, cv.MORPH_OPEN, (3,3))
morph = cv.morphologyEx(lena, cv.MORPH_CLOSE, (3,3))
cv.imshow("morph", morph)
cv.imshow('lena', lena)
cv.waitKey()
cv.destroyAllWindows()

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部