OpenCV--图像平滑(均值滤波、方框滤波、高斯滤波、中值滤波)

Fawn ·
更新时间:2024-11-14
· 617 次阅读

OpenCV–图像平滑(均值滤波、方框滤波、高斯滤波、中值滤波)

首先看以下图,图像平滑(模糊)只是滤波中的一种操作,并不是整个滤波部分。

一、均值滤波

函数:

dst = cv.blur( src, ksize[, dst[, anchor[, borderType]]] )

src:输入图像; ksize: 卷积核大小; anchor: 锚点位置设置,默认为卷积核的中心位置; borderType: 边界填充方法。

  均值滤波是一种线性滤波器,处理思路也很简单,就是将一个窗口区域中的像素计算平均值,然后将窗口中计算得到的均值设置为锚点上的像素值。该算法有优点在于效率高,思路简单。同样,缺点也很明显,计算均值会将图像中的边缘信息以及特征信息“模糊”掉,会丢失很多特征。
  例如使用3*3卷积核如下所示:
kernel=[111111111] kernel= \left[ \begin{matrix} 1 & 1 & 1\\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{matrix} \right] kernel=⎣⎡​111​111​111​⎦⎤​

代码演示:

img_lena = cv.imread("./img/lenaNoise.png") # 均值滤波blur(src, ksize[, dst[, anchor[, borderType]]]) # ksize : 卷积核大小, anchor:需要进行替换值的锚点, borderType: 边界填充方法 def img_show(name, img): cv.imshow(name, img) cv.waitKey(0) cv.destroyAllWindows() blur = cv.blur(img_lena, (3,3)) #将原图像拼接进行比较 connect = np.hstack((img_lena, blur)) img_show("blur", connect)

原创文章 80获赞 22访问量 1万+ 关注 私信 展开阅读全文
作者:一只工程狮



图像平滑 均值滤波 中值滤波 高斯滤波 平滑 高斯 opencv

需要 登录 后方可回复, 如果你还没有账号请 注册新账号