美文网首页Python_图像处理
Python OpenCV 图片高斯模糊

Python OpenCV 图片高斯模糊

作者: 梦想橡皮擦 | 来源:发表于2021-11-19 16:54 被阅读0次

Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧。

基础知识铺垫

看到一种说法,解释高斯模糊的比较简单,高斯模糊是带加权的均值模糊。

大概解释如下:

高斯模糊实质上就是一种均值模糊,只是高斯模糊是按照加权平均的,距离越近的点权重越大,距离越远的点权重越小。

通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

不过阅读起来还是比较费劲的,这种情况,有两种学习方式

第一种,去死磕线性代数,研究卷积算法

第二种,先放一下,因为目前高斯模糊的应用场景,还未完全明确,可以日后用到这部分知识,在进行学习,橡皮擦选择第二种。

高斯模糊在美颜软件上挺常见的,专业图片处理工具也一定有,主要用在磨皮与毛玻璃效果上。

关于高斯模糊,还真找到一篇不错的博客,可以参考(建议在新选项卡打开,对照着学习)。

寻找资料的时候,还发现一个大佬关于高斯模糊的解释,可以参考

函数原型介绍

高斯模糊(Gaussian Blur)

函数原型如下:

dst = cv2.GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)

参数说明:

  1. src:原图像;
  2. ksize: 高斯核的大小,格式为(width, height),其中 width 和 height 可以不同,两者都是正奇数;如果设为 0,则根据 sigma 得到;
  3. sigmaX: X 方向的高斯核标准差;
  4. sigmaY: Y 方向的高斯核标准差,如果 sigmaY 设为 0,则与 sigmaX 相等,如果两者都为 0,则可以根据 ksize 来计算得到;

官方手册查阅

测试代码如下:

import cv2
import numpy as np
img = cv2.imread('test.jpg')

# dst = cv2.GaussianBlur(img,ksize=(5,5),sigmaX=0,sigmaY=0)
# 创建毛玻璃特效
# 参数2:高斯核的宽和高(建议是奇数)
# 参数3:x和y轴的标准差
dst = cv2.GaussianBlur(img, (5, 5), 0)
cv2.imshow('dst', dst)

cv2.waitKey()

运行效果与原图对比:

20210122225509130[1].png

你可以继续修改参数值,高斯核尺寸和标准差越大,处理后的图片越模糊

dst1 = cv2.GaussianBlur(img, (5, 5), 0.5)
dst2 = cv2.GaussianBlur(img, (5, 5), 1.5)
dst3 = cv2.GaussianBlur(img, (9, 9), 1.5)
cv2.imshow('dst1', dst1)
cv2.imshow('dst2', dst2)
cv2.imshow('dst3', dst3)
20210122230721696[1].png

橡皮擦的小节

本系列博客为学习之旅,部分概念在没有学到,或者必须彻底掌握前,不做扩展学习。保持每天 1 个小时的学习时间即可。

1 个小时又过去了,对 Python OpenCV 相关的知识点,你掌握了吗?

做为初学者,还有很多地方学习的不深入,希望你与我一起坚持下去。

相关阅读


  1. Python 爬虫 100 例教程,超棒的爬虫教程,立即订阅吧
  2. Python 爬虫小课,精彩 9 讲

今天是持续写作的第 <font color="red">62</font> / 100 天。
如果你有想要交流的想法、技术,欢迎在评论区留言。

相关文章

  • Python OpenCV 图片高斯模糊

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧。 基础知识铺垫 看到一种说法,解释高斯...

  • Python生成随机高斯模糊图片

    Python可以使用opencv库很方便地生成模糊图像,如果没有安装opencv的,可以用pip安装: 想了解高斯...

  • 图片模糊(高斯模糊)

    app的build.gradle配置:

  • openCV图像高斯模糊

    说明 参考:官方文档 提供两种方式设置高斯滤波的程度: 设置高斯核的大小(Gaussian kernel size...

  • opencv

    投影变换 使用opencv实现投影变换,对图片进行预处理,灰度转换,高斯模糊,canny边缘检测(找到需要投影的区...

  • 图片高斯模糊

    用系统的CIFilter实现 // blur value:0 - 3 @IBAction func slider...

  • 图片高斯模糊

    使用vImage的高斯模糊 前言 vImage属于Accelerate.Framework,需要导入 Accele...

  • 微像素-一个图像处理源码分享网址

    微像素 OpenCV图片处理-OpenCV探索之路(四):膨胀、腐蚀、开闭运算 openCV之高斯滤波(及代码实现...

  • Android图片高斯模糊动画

    前言 这里只讲高斯模糊动画的处理,不讨论高斯模糊的处理方式。想看高斯模糊处理的可以参考这个Android 图片高斯...

  • Python视觉识别--OpenCV模糊\高斯模糊\EPF\图像

    (十一) 模糊 模糊操作方式:均值模糊:一般用来处理图像的随机噪声中值模糊:一般用来处理图像的椒盐噪声自定义模糊:...

网友评论

    本文标题:Python OpenCV 图片高斯模糊

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