OpenCV 入门教程:中值滤波和双边滤波

OpenCV 入门教程:中值滤波和双边滤波

  • 导语
  • 一、中值滤波
  • 二、双边滤波
  • 三、示例应用
    • 3.1 图像去噪
    • 3.2 图像平滑
  • 总结

导语

在图像处理和计算机视觉领域,中值滤波和双边滤波是两种常见的滤波方法,用于平滑图像、去除噪声等。 OpenCV 提供了中值滤波和双边滤波的实现函数,使得图像处理更加灵活和高效。本文将以中值滤波和双边滤波为中心,为你介绍使用 OpenCV 进行滤波操作的基本步骤和实例。

😃😄 ❤️ ❤️ ❤️

一、中值滤波

中值滤波是一种非线性滤波方法,它通过将像素周围邻域内的像素值排序,并取中值作为滤波后的像素值,从而实现平滑图像的效果。以下是一个中值滤波的示例代码:

import cv2# 读取图像文件
image = cv2.imread('image.jpg')# 进行中值滤波
kernel_size = 5  # 设置滤波器的大小
blurred_image = cv2.medianBlur(image, kernel_size)

在上述示例中,我们使用 medianBlur 函数对图像进行中值滤波。 kernel_size 参数指定了滤波器的大小,用于控制滤波的程度。较大的滤波器大小将产生更明显的平滑效果。

二、双边滤波

双边滤波是一种保边平滑的滤波方法,它考虑了像素之间的空间关系和像素值之间的差异,从而在平滑图像的同时保留边缘信息。以下是一个双边滤波的示例代码:

import cv2# 读取图像文件
image = cv2.imread('image.jpg')# 进行双边滤波
d = 15  # 邻域直径
sigmaColor = 75  # 颜色空间标准差
sigmaSpace = 75  # 坐标空间标准差
blurred_image = cv2.bilateralFilter(image, d, sigmaColor, sigmaSpace)

在上述示例中,我们使用 bilateralFilter 函数对图像进行双边滤波。 d 参数指定了邻域直径, sigmaColor 参数和 sigmaSpace 参数分别指定了颜色空间和坐标空间的标准差。通过调整这些参数,可以控制滤波的程度和保边效果。

三、示例应用

现在,我们来看一些常见的示例应用,演示中值滤波和双边滤波的操作:

3.1 图像去噪

中值滤波和双边滤波都可以用于去除图像中的噪声。以下是一个示例代码:

import cv2# 读取图像文件
image = cv2.imread('image.jpg')# 进行中值滤波
kernel_size = 5  # 设置滤波器的大小
median_blurred_image = cv2.medianBlur(image, kernel_size)# 进行双边滤波
d = 15  # 邻域直径
sigmaColor = 75  # 颜色空间标准差
sigmaSpace = 75  # 坐标空间标准差
bilateral_blurred_image = cv2.bilateralFilter(image, d, sigmaColor, sigmaSpace)

这个示例将加载名为" image.jpg "的图像文件,并分别使用中值滤波和双边滤波对图像进行去噪处理。

3.2 图像平滑

中值滤波和双边滤波还可以用于图像的平滑处理,使图像更加柔和。以下是一个示例代码:

import cv2# 读取图像文件
image =cv2.imread('image.jpg')# 进行中值滤波
kernel_size = 10  # 设置滤波器的大小
median_blurred_image = cv2.medianBlur(image, kernel_size)# 进行双边滤波
d = 15  # 邻域直径
sigmaColor = 75  # 颜色空间标准差
sigmaSpace = 75  # 坐标空间标准差
bilateral_blurred_image = cv2.bilateralFilter(image, d, sigmaColor, sigmaSpace)

这个示例将加载名为" image.jpg "的图像文件,并分别使用中值滤波和双边滤波对图像进行平滑处理。

总结

通过本文的介绍,你已经了解了使用 OpenCV 进行中值滤波和双边滤波的基本步骤。你学会了使用 medianBlur 函数进行中值滤波和使用 bilateralFilter 函数进行双边滤波,并通过示例应用了解了去噪和图像平滑的操作。

滤波是图像处理中常用的一种操作,可以用于平滑图像、去除噪声等。中值滤波适用于去除椒盐噪声等随机噪声,而双边滤波在平滑图像的同时保留边缘信息。继续深入学习和实践,你将能够熟练运用 OpenCV 的滤波功能,并将其应用于实际项目中。

[ 专栏推荐 ]
😃 《视觉探索:OpenCV 基础入门教程》😄
❤️【简介】:Opencv 入门课程适合初学者,旨在介绍 Opencv 库的基础知识和核心功能。课程包括图像读取、显示、保存,图像处理和增强(如滤波、边缘检测、图像变换),特征提取和匹配,目标检测和跟踪等内容。学员将通过学习基本操作和编程技巧,掌握 Opencv 在图像处理和计算机视觉任务中的应用。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22453.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音seo矩阵系统源码|需求文档编译说明(技术)

1.抖音seo矩阵系统文档开发流程 抖音SEO矩阵指的是一系列通过搜索引擎优化(SEO)技术和策略来提升抖音账号在搜索结果中排名的方法和工具。在抖音上,用户可以通过搜索关键词来查找与其相关的视频和账号。因此,抖音SEO矩阵的主要目…

大模型与端到端会成为城市自动驾驶新范式吗?

摘要: 最近可以明显看到或者感受到第一梯队的城市自动驾驶量产已经进入快车道,他们背后所依靠的正是当下最热的大模型和端到端的技术。 近期,城市自动驾驶量产在产品和技术上都出现了新的变化。 在产品层面,出现了记性行车或者称…

macOS 开发 - 纯代码生成 Window

文章目录 1、创建项目删除项目自带 window创建 BaseWindowController 继承自 NSWindowController子 WC 继承 BaseWC个人更喜欢纯代码:控制力、方便复制,不用卡卡的打开 xib 这里不使用各种项目自带的 storyboard/xib,使用纯代码创建 window(controller) 本示例代码将创建如下…

【Linux详解】——文件系统(磁盘结构、软硬链接、动静态库)

📖 前言:本期介绍文件系统。 目录 🕒 1. 磁盘结构🕘 1.1 物理结构🕘 1.2 存储结构🕘 1.3 逻辑结构 🕒 2. 文件系统🕘 2.1 对 IO 单位的优化🕘 2.2 磁盘分区与分组&#x…

揭秘GPT-4;Adobe Firefly AI 扩大测试规模

🦉 AI新闻 🚀 Adobe Firefly AI 扩大测试规模,支持100多种语言的输入 摘要:Adobe宣布扩大测试规模,Adobe Firefly AI现在支持100多种语言的 prompts 输入。网页测试版Firefly已经扩充了罗马尼亚语等多种语言&#xf…

最新华为鸿蒙4.0安装谷歌服务框架,安装Play商店,谷歌Google,GMS

最近华为推出了最新鸿蒙4.0开发者Beta版本,让用户测试体验。那么测试体验的机器主要是最近发布的几款机器为P60,P60 Pro, mate50,mate50 pro等几款产品可以先期进行体验测试鸿蒙4.0,那么很多的用户在疑问我升级到鸿蒙4.0。是不是还是可以使用Google谷歌服…

HTML特性(attribute)和DOM属性(property)

文章目录 定义位置不同attributeproperty 范围不同属性映射行为区别数据类型不同大小写敏感区别相同属性返回值可能不同DOM 属性具有写保护 定义位置不同 attribute 是 HTML 标签上的某个属性,如 id、class、value 等以及自定义属性,定义后会呈现在标签上 proper…

内存泄露?腾讯工程师2个压箱底的方法和工具

导读|遭受内存泄露往往是令开发者头疼的问题,传统分析工具 gdb、Valgrind在解决内存泄露问题上效率较低。本文特别邀请到了腾讯后台开发工程师邢孟棒以 TDSQL实际生产中mysql-proxy内存泄露问题作为分析对象,分享其基于动态追踪技术的通用内存…

《Ansible故障篇:ansible报错解决python依赖》

一、背景信息 如下报错:这个警告是提醒您当前的Ansible配置在目标主机上使用的是/usr/bin/python而不是建议的/usr/bin/python3,因为Ansible 2.9版本之前的某些版本默认使用早期的Python 2.x版本。然而,在将来的版本中,Ansible将会…

Mysql根据积分排名

积分表:t_participant_points 1、带并列 SELECT p.*, CASE WHEN prevRank p.total_points THEN curRank WHEN prevRank : p.total_points THEN curRank : curRank 1 END AS ranking FROM ( SELECT total_points …

MySQL主从复制(一主一从)

文章目录 MySQL主从复制(一主一从)什么是主从复制主从复制的原理主从复制的优点准备工作配置主数据库Master配置从数据库Slave测试 MySQL主从复制(一主一从) 什么是主从复制 MySQL主从复制是指数据可以从一个MySQL数据库服务器的主节点复制到一个或多个从节点。主节点记录了所…

H3C-Cloud Lab实验-RIP实验

实验拓扑图: 实验需求: 1. 按照图示配置 IP 地址 2. 配置 RIP 实现全网路由互通 3. 路由器之间需要开启接口身份验证来保证协议安全性,密钥为 123456 实验步骤: 1. 配置R1的IP地址 2. 配置R2的IP地址 3. 配置R3的IP地址 4. 在…