OpenCV:图像处理中的低通滤波

news2025/1/27 22:25:16

目录

简述

什么是低通滤波?

各种滤波器简介与实现

方盒滤波

均值滤波

中值滤波

高斯滤波

双边滤波

各种滤波的对比与应用场景


相关阅读

OpenCV基础:图像变换-CSDN博客

OpenCV:图像滤波、卷积与卷积核-CSDN博客


简述

低通滤波是一种在图像处理中广泛使用的技术,主要用于去噪和平滑处理。本文将从基础概念出发,结合 方盒滤波、均值滤波、中值滤波、高斯滤波 和 双边滤波 的具体实现与应用场景,进行详细讲解。


什么是低通滤波?

低通滤波是一种通过滤掉图像中的高频成分(如噪声和细节),保留低频成分(如平滑区域)的操作。

作用

  • 去除图像中的高频噪声。
  • 平滑图像,减少细节。

应用场景

  • 图像预处理(如降噪)。
  • 对比度减弱(用于模糊效果)。
  • 提高检测精度(用于后续图像分析)。

各种滤波器简介与实现

方盒滤波

方盒滤波是一种简单的低通滤波器,它将图像的局部像素取均值,用一个固定大小的矩形窗口滑动图像。

代码实现

import cv2

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

# 方盒滤波
box_filtered = cv2.boxFilter(image, -1, (5, 5))

cv2.imshow("Original", image)
cv2.imshow("Box Filter", box_filtered)
cv2.waitKey(0)
cv2.destroyAllWindows()

特点:简单快速,但可能引入边缘模糊。

运行效果:


均值滤波

均值滤波与方盒滤波类似,只不过它专门用于对邻域像素取均值,进行平滑处理。

代码实现

import cv2
import numpy as np

# 读取图像
image = cv2.imread("D:\\resource\\filter\\lena.png")

# 均值滤波
result = cv2.blur(image, (5, 5))

cv2.imshow("Original", image)
cv2.imshow("Result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

 特点:效果较为简单,但容易丢失图像细节。

运行效果:


中值滤波

中值滤波是一种非线性滤波方法,用局部窗口内的中值替代中心像素值,常用于去除椒盐噪声。

代码实现

import cv2
import numpy as np

# 读取图像
image = cv2.imread("D:\\resource\\huaji1.jpg")

# 中值滤波, 对胡椒噪点效果好
result = cv2.medianBlur(image, 5)

cv2.imshow("image", image)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

特点

  • 对椒盐噪声的去除效果特别好。
  • 不会显著模糊边缘。

运行效果:


高斯滤波

高斯滤波使用高斯函数作为权重,对邻域像素加权求和,权重与像素距离呈指数关系,距离越远权重越小。

代码实现

import cv2
import numpy as np

# 读取图像
image = cv2.imread("D:\\resource\\filter\\lena.png")

# 高斯滤波, 针对高斯噪点的效果好
result = cv2.GaussianBlur(image, (5,5), sigmaX=1)

cv2.imshow("image", image)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

特点

  • 平滑效果更自然,常用于降噪。
  • 能够保持一定的图像边缘信息。

运行效果:


双边滤波

双边滤波是结合了高斯滤波和平滑滤波的优点,同时考虑像素的空间距离和色彩距离,既能平滑图像又能保留边缘。

代码实现

import cv2
import numpy as np

# 读取图像
image = cv2.imread("D:\\resource\\filter\\lena.png")

# 双边滤波
result = cv2.bilateralFilter(image, 7, 20, 50)

cv2.imshow("image", image)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

特点

  • 边缘保留效果显著。
  • 常用于美容滤镜或去噪后保留图像细节。

 运行效果:

经过双边滤波后,图像中的皮肤部分更平滑了。 


各种滤波的对比与应用场景

滤波类型特点应用场景
方盒滤波简单高效,但模糊边缘明显快速平滑处理
均值滤波类似方盒,但更平滑自然去除轻微噪声
中值滤波去噪能力强,保护边缘去除椒盐噪声
高斯滤波平滑效果自然,速度快图像降噪,边缘检测的预处理
双边滤波平滑与边缘保留并存美颜滤镜,降噪后细节保留

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

32、【OS】【Nuttx】OSTest分析(1):stdio测试(二)

背景 接上篇wiki 31、【OS】【Nuttx】OSTest分析(1):stdio测试(一) 继续stdio测试的分析,上篇讲到标准IO端口初始化,单从测试内容来说其实很简单,没啥可分析的,但这几篇…

OpenAI掀桌子!免费版ChatGPT,提供o3-mini模型!

逆天免费用 今天凌晨,OpenAI联合创始人兼首席执行官Sam Altman宣布了一个大消息——免费版ChatGPT,将提供o3-mini模型! 网页们纷纷不淡定了 看来OpenAI,这o3-mini还没正式上线呢,就免费开放使用了。 不过还是要感谢…

redis离线安装部署详解(包括一键启动)

像上文一样 因为在学习的过程中没有查到一个详细的离线部署方案 所以在自己学习之后想要自己写一个文章 希望可以帮助后续学习redis离线部署的朋友少走一线弯路 首先就是下载安装包 可以自己在本地下载再传到机器上(通过xftp或lrzsz都可) http://d…

图论汇总1

1.图论理论基础 图的基本概念 二维坐标中,两点可以连成线,多个点连成的线就构成了图。 当然图也可以就一个节点,甚至没有节点(空图) 图的种类 整体上一般分为 有向图 和 无向图。 有向图是指 图中边是有方向的&a…

小利特惠源码/生活缴费/电话费/油卡燃气/等充值业务类源码附带承兑系统

全新首发小利特惠/生活缴费/电话费/油卡燃气/等充值业务类源码附带U商承兑系统 安装教程如下 图片:

ESMC-600M蛋白质语言模型本地部署攻略

前言 之前介绍了ESMC-6B模型的网络接口调用方法,但申请token比较慢,有网友问能不能出一个本地部署ESMC小模型的攻略,遂有本文。 其实本地部署并不复杂,官方github上面也比较清楚了。 操作过程 环境配置:CUDA 12.1、…

Java 实现Excel转HTML、或HTML转Excel

Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,以便更好地利用和展示数据。本文将介绍如何通过 Java 实现 E…

Ubuntu20.04 运行 PL-VIO

文章目录 运行后不知为何没有线特征 运行后不知为何没有线特征

centos操作系统上以service形式运行blackbox_exporter监控网页端口

文章目录 前言一、blackbox_exporter是什么二、使用步骤1.获取二进制文件2.准备部署脚本3.执行命令,进行部署4.prometheus中增加需要监控页面的job信息 三、查看部署结果四、配置到grafana中总结 前言 记录一下centos操作系统上以简单的service形式运行blackbox_ex…

Linux内核编程(二十一)USB驱动开发-键盘驱动

一、驱动类型 USB 驱动开发主要分为两种:主机侧的驱动程序和设备侧的驱动程序。一般我们编写的都是主机侧的USB驱动程序。 主机侧驱动程序用于控制插入到主机中的 USB 设备,而设备侧驱动程序则负责控制 USB 设备如何与主机通信。由于设备侧驱动程序通常与…

RV1126画面质量四:GOP改善画质

一. 什么是 GOP GOP 实际上就是两个 I 帧的间隔,比方说分辨率是 1920 * 1080 50 帧,假设 GOP 为 5,那就是大概 2s 插入一个 I 帧。我们再 回顾下,H264/H265 的帧结构。H264/H265 分别分为三种帧类型:I 帧、…

【2025年数学建模美赛F题】(顶刊论文绘图)模型代码+论文

全球网络犯罪与网络安全政策的多维度分析及效能评估 摘要1 Introduction1.1 Problem Background1.2Restatement of the Problem1.3 Literature Review1.4 Our Work 2 Assumptions and Justifications数据完整性与可靠性假设:法律政策独立性假设:人口统计…

Vivado生成X1或X4位宽mcs文件并固化到flash

1.生成mcs文件 01.在vivado里的菜单栏选择"tools"工具栏 02.在"tools"里选择"生成内存配置文件" 03.配置参数 按照FPGA板上的flash型号进行选型,相关配置步骤可参考下图。 注意:Flash数据传输位宽如果需要选择X4位宽&am…

idea plugin插件开发——入门级教程(IntelliJ IDEA Plugin)

手打不易,如果转摘,请注明出处! 注明原文:idea plugin插件开发——入门级教程(IntelliJ IDEA Plugin)-CSDN博客 目录 前言 官方 官方文档 代码示例 开发前必读 Intellij、Gradle、JDK 版本关系 plu…

Linux的常用指令的用法

目录 Linux下基本指令 whoami ls指令: 文件: touch clear pwd cd mkdir rmdir指令 && rm 指令 man指令 cp mv cat more less head tail 管道和重定向 1. 重定向(Redirection) 2. 管道(Pipes&a…

docker 简要笔记

文章目录 一、前提内容1、docker 环境准备2、docker-compose 环境准备3、流程说明 二、打包 docker 镜像1、基础镜像2、国内镜像源3、基础的dockerfile4、打包镜像 四、构建运行1、docker 部分2、docker-compose 部分2.1、构建docker-compose.yml2.1.1、同目录构建2.1.2、利用镜…

Windows 与 Linux 文件权限的对比与转换

Windows和Linux在文件权限管理方面存在显著差异。了解它们的对比和转换方法对于跨平台操作和管理文件非常重要。以下是详细的对比和转换方法: 一、Windows 文件权限 1. 权限类型 Windows使用基于用户和组的权限模型,常见的权限类型包括: 读…

FireFox | Google Chrome | Microsoft Edge 禁用更新 final版

之前的方式要么失效,要么对设备有要求,这次梳理一下对设备、环境几乎没有要求的通用方式,universal & final 版。 1.Firefox 方式 FireFox火狐浏览器企业策略禁止更新_火狐浏览器禁止更新-CSDN博客 这应该是目前最好用的方式。火狐也…

华硕笔记本装win10哪个版本好用分析_华硕笔记本装win10专业版图文教程

华硕笔记本装win10哪个版本好用?华硕笔记本还是建议安装win10专业版。Win分为多个版本,其中家庭版(Home)和专业版(Pro)是用户选择最多的两个版本。win10专业版在功能以及安全性方面有着明显的优势&#xff…

Android多语言开发自动化生成工具

在做 Android 开发的过程中,经常会遇到多语言开发的场景,尤其在车载项目中,多语言开发更为常见。对应多语言开发,通常都是在中文版本的基础上开发其他国家语言,这里我们会拿到中-外语言对照表,这里的工作难…