opencv均值滤波,方盒滤波,cv2.boxFilter,cv2blur

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 opencv均值滤波,方盒滤波,cv2.boxFilter,cv2blur,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

均值滤波

        opencv使用均值滤波是通过cv2.blur来实现的,原理十分简单,就是根据周围取平均值

opencv均值滤波,方盒滤波,cv2.boxFilter,cv2blur

        下面对方法进行介绍

def blur(src, ksize, dst=None, anchor=None, borderType=None)
  • src:输入图像
  • ksize:卷积核大小,是一个元组
  • dst:输出图像
  • anchor:锚点;默认值 Point(-1,-1) 表示锚点位于内核中央。
  • borderType:用于推断图像外部像素的某种边界模式。有默认值BORDER_DEFAULT

        这个滤波对椒盐噪声效果比较好

import cv2
import numpy as np

lp = cv2.resize(cv2.imread('../images/jiaoyan.png'), None, fx=0.8, fy=0.8)

new_lp1 = cv2.blur(lp, (5, 5))

cv2.imshow('lp', np.hstack((lp, new_lp1)))
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv均值滤波,方盒滤波,cv2.boxFilter,cv2blur


方盒滤波

        opencv方盒滤波通过cv2.boxFilter函数来实现,这个函数和cv2.blur基本一样的,当normalize=True时,与均值滤波结果相同, normalize=False,不进行归一化,大于255的使用255表示

        下面对函数进行介绍

def boxFilter(src, ddepth, ksize, dst=None, anchor=None, normalize=None, borderType=None)
  • src:输入图像
  • ddepth:输出图像深度,-1表示与原图像一样,一般都是-1
  • ksize:卷积核大小,是一个元组
  • dst:输出图像
  • anchor:锚点;默认值 Point(-1,-1) 表示锚点位于内核中央。
  • normalize:标识符,表示内核是否被其区域归一化。
  • borderType:用于推断图像外部像素的某种边界模式。有默认值BORDER_DEFAULT

        由于归一化和cv2.blur一样的,下面就展示不进行归一化的图像

import cv2
import numpy as np

lp = cv2.resize(cv2.imread('../images/jiaoyan.png'), None, fx=0.8, fy=0.8)

new_lp1 = cv2.boxFilter(lp, -1, (2, 2), normalize=False)

cv2.imshow('lp', np.hstack((lp, new_lp1)))
cv2.waitKey(0)
cv2.destroyAllWindows()

opencv均值滤波,方盒滤波,cv2.boxFilter,cv2blur

        不进行归一化,大部分都变成了白色 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146323.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!