OpenCV半小时掌握基本操作之高斯双边

 更新时间:2021年09月01日 10:17:46   作者:我是小白呀  
这篇文章主要介绍了OpenCV基本操作之高斯双边,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

【OpenCV】 ⚠️高手勿入! 半小时学会基本操作 ⚠️ 高斯双边

概述

OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天带大家用 OpenCV 来实现一个简单的磨皮.

在这里插入图片描述

边缘保留滤波 (EPF)

边缘保留滤波 (Edge Preserving Filter) 是图像处理的一种技术. 有别与传统滤波, EPF 会对差别较大的像素区域进行区分, 在保持边缘锐利的同时消除噪声或纹理.

高斯双边

双边滤波 (Bilateral Filter) 即高斯滤波. 滤波器由两个函数构成. 一个函数是由集合空间距离决定滤波器系数. 另一个是由像素差值决定滤波系数.

在这里插入图片描述

格式:

cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)

参数:

  • src: 输入图像
  • d: 相邻像素的直径
  • sigmaColor: 颜色空间过滤
  • sigmaSpace: 坐标空间过滤

例子:

import numpy as np
import cv2

# 读取图片
image = cv2.imread("face.jpg")

# 高斯二边
dest = cv2.bilateralFilter(image, 0, 100, 15)

# 图片展示
combine = np.hstack((image, dest))
cv2.imshow("combine", combine)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 保存结果
cv2.imwrite("bilateral.jpg", combine)

输出结果:

在这里插入图片描述

高斯模糊 vs 高斯双边:

在这里插入图片描述

均值迁移

均值迁移 (Mean-Shift Blur) 会计算得到像素均值与空间位置均值, 使用新的均值作为窗口中心位置.

格式:

cv2.pyrMeanShiftFiltering(src, sp, sr, dst=None, maxLevel=None, termcrit=None)

参数:

  • src: 输入图像
  • sp: 空间窗口半径
  • sr: 颜色窗口半径
  • maxLevel: 分割金字塔的最大级别
  • termcrit: 终止条件, 默认为 None

例子:

import numpy as np
import cv2

# 读取图片
image = cv2.imread("face.jpg")

# 均值迁移
dest = cv2.pyrMeanShiftFiltering(image, 10, 50)

# 图片展示
combine = np.hstack((image, dest))
cv2.imshow("combine", combine)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 图片保存
cv2.imwrite("mean_shift.jpg", combine)

输出结果:

在这里插入图片描述

到此这篇关于OpenCV半小时掌握基本操作之高斯双边的文章就介绍到这了,更多相关OpenCV高斯双边内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中为什么要用self探讨

    Python中为什么要用self探讨

    这篇文章主要介绍了Python中为什么要用self探讨,本文讲解了Python要self的理由、为何Python给self赋值而你不必给self赋值?等内容,需要的朋友可以参考下
    2015-04-04
  • python 读txt文件,按‘,’分割每行数据操作

    python 读txt文件,按‘,’分割每行数据操作

    这篇文章主要介绍了python 读txt文件,按‘,’分割每行数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python提取PDF指定内容并生成新文件

    Python提取PDF指定内容并生成新文件

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析。感兴趣的可以了解一下
    2021-06-06
  • python列表操作实例

    python列表操作实例

    这篇文章主要介绍了python列表操作方法,实例分析了Python针对列表操作的插入、删除等各种操作技巧,需要的朋友可以参考下
    2015-01-01
  • Python内建属性getattribute拦截器使用详解

    Python内建属性getattribute拦截器使用详解

    这篇文章主要为大家介绍了Python内建属性getattribute拦截器使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python 可爱的大小写

    Python 可爱的大小写

    和其他语言一样,Python为string对象提供了转换大小写的方法:upper() 和 lower()。还不止这些,Python还为我们提供了首字母大写,其余小写的capitalize()方法,以及所有单词首字母大写,其余小写的title()方法。
    2008-09-09
  • Python实现如何根据文件后缀进行分类

    Python实现如何根据文件后缀进行分类

    本文主要为大家详细介绍了如何通过python实现根据文件后缀实现分类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以关注一下
    2021-12-12
  • Python的Django中django-userena组件的简单使用教程

    Python的Django中django-userena组件的简单使用教程

    这篇文章主要介绍了Python的Django中django-userena组件的简单使用教程,包括用户登陆和注册等简单功能的实现,需要的朋友可以参考下
    2015-05-05
  • opencv图像处理之指纹验证的实现

    opencv图像处理之指纹验证的实现

    本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • 学习win32com操作word之Range精讲

    学习win32com操作word之Range精讲

    这篇文章主要为大家介绍了win32com操作word之Range精讲学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01

最新评论