当前位置: 首页 > news >正文

图像滤波处理

  滤波处理是图像处理中常用的技术之一,用于去除图像中的噪声、平滑图像、边缘检测等。以下是几种常见的滤波处理方法:

1. 均值滤波 (Mean Filtering)

原理:

  均值滤波使用一个固定大小的滤波器,在图像上滑动并取周围像素的平均值来替代中心像素值。这有助于减少图像中的高频噪声。

公式:

  对于图像上的一个区域,以 I I I 表示原始图像, I smooth I_{\text{smooth}} Ismooth表示滤波后的图像,滤波器大小为 n × n n \times n n×n
I smooth ( x , y ) = 1 n 2 ∑ i = 0 n − 1 ∑ j = 0 n − 1 I ( x + i , y + j ) I_{\text{smooth}}(x, y) = \frac{1}{n^2} \sum_{i=0}^{n-1} \sum_{j=0}^{n-1} I(x+i, y+j) Ismooth(x,y)=n21i=0n1j=0n1I(x+i,y+j)

作用和适用场景:

  适用于去除轻度噪声,如盐和胡椒噪声,但可能会导致图像细节丢失。

代码:
import cv2# 读取图像
img = cv2.imread('input_image.jpg')# 应用均值滤波
filtered_img = cv2.blur(img, (3, 3))  # 参数 (3, 3) 表示滤波器大小# 显示原始图像和滤波后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Mean Filtered Image', filtered_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

2. 高斯滤波 (Gaussian Filtering)

原理:

  高斯滤波与均值滤波类似,但是采用了加权平均值,周围像素对中心像素的影响根据距离中心像素的位置以高斯分布加权。这种滤波器更多地保留了图像的细节。

公式:

I smooth ( x , y ) = 1 ∑ i = 0 n − 1 ∑ j = 0 n − 1 h ( i , j ) ∑ i = 0 n − 1 ∑ j = 0 n − 1 I ( x + i , y + j ) ⋅ h ( i , j ) I_{\text{smooth}}(x, y) = \frac{1}{\sum_{i=0}^{n-1} \sum_{j=0}^{n-1} h(i, j)} \sum_{i=0}^{n-1} \sum_{j=0}^{n-1} I(x+i, y+j) \cdot h(i, j) Ismooth(x,y)=i=0n1j=0n1h(i,j)1i=0n1j=0n1I(x+i,y+j)h(i,j)

  其中, h ( i , j ) h(i, j) h(i,j) 是高斯核函数的值。

作用和适用场景:

  适用于去除噪声并保留图像细节,常用于图像平滑和预处理。

代码:
import cv2# 读取图像
img = cv2.imread('input_image.jpg')# 应用高斯滤波
filtered_img = cv2.GaussianBlur(img, (5, 5), 0)  # 参数 (5, 5) 表示滤波器大小,0 表示标准差# 显示原始图像和滤波后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Gaussian Filtered Image', filtered_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

3. 中值滤波 (Median Filtering)

原理:

  中值滤波采用一个固定大小的滤波器,在图像上滑动并取周围像素的中值来替代中心像素值。对于去除椒盐噪声效果非常好。

作用和适用场景:

  适用于去除椒盐噪声或脉冲噪声,能够有效保留图像细节。

代码:
import cv2# 读取图像
img = cv2.imread('input_image.jpg')# 应用中值滤波
filtered_img = cv2.medianBlur(img, 5)  # 参数 5 表示滤波器大小# 显示原始图像和滤波后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Median Filtered Image', filtered_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

相关文章:

图像滤波处理

滤波处理是图像处理中常用的技术之一,用于去除图像中的噪声、平滑图像、边缘检测等。以下是几种常见的滤波处理方法: 1. 均值滤波 (Mean Filtering) 原理: 均值滤波使用一个固定大小的滤波器,在图像上滑动并取周围像素的平均值来…...

中间件安全:Apache 目录穿透.(CVE-2021-41773)

中间件安全:Apache 目录穿透.(CVE-2021-41773) Apache 的 2.4.49、2.4.50 版本 对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等&#xff0c…...

苍穹外卖--菜品分页查询

设计DTO类 Data public class DishPageQueryDTO implements Serializable {private int page;private int pageSize;private String name;private Integer categoryId; //分类idprivate Integer status; //状态 0表示禁用 1表示启用}设计VO类 Data Builder NoArgsConstructor…...

JS原生-弹框+阿里巴巴矢量图

效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&q…...

vscode c++ 报错identifier “string“ is undefined

vscode c 报identifier “string” is undefined 问题 新装了电脑, 装好vsc和g等, 发现报错 但开头并没问题 解决 shiftctrlp选择 C/C Edit:COnfigurations (JSON)自动生成打开 c_cpp_properties.json添加g路径等 "cStandard": "c11","cppStanda…...

CocoaPods podfile 文件配置

记录一下关于 CocoaPods podfile 文件配置 指定源(Source) 默认情况下&#xff0c;在全局级别指定的源将按照依赖项匹配指定的顺序进行搜索。 对于特定的依赖&#xff0c;可以单独指定依赖源: pod PonyDebugger, :source > https://github.com/CocoaPods/Specs.git使用字库…...

Python大数据之linux学习总结——day10_hive调优

hive调优 hive调优hive命令和参数配置1.hive数据压缩压缩对比开启压缩 2.hive数据存储[练习]行列存储原理存储压缩比拓展dfs -du -h 3. fetch抓取4. 本地模式5. join的优化操作6. 列裁剪7. 分区裁剪8. group by 操作9. count(distinct)10. 笛卡尔积11. 动态分区[练习]12. 如何调…...

原理Redis-动态字符串SDS

动态字符串SDS Redis中保存的Key是字符串&#xff0c;value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。 不过Redis没有直接使用C语言中的字符串&#xff0c;因为C语言字符串存在很多问题&#xff1a; 获取字符串长度的需要通过运算非二进制安全…...

axios的封装之axios是基于什么封装的?

axios的封装_axios是基于什么封装的 axios是基于JavaScript的XMLHttpRequest 和 Promise 对象进行封装的使用axios发送GET请求的示例axios 拦截器 axios的封装_axios是基于什么封装的 axios是基于JavaScript的XMLHttpRequest 和 Promise 对象进行封装的 在浏览器中&#xff…...

应用软件安全编程-20生成强随机数

JavaAPI 提 供 了java,util.Random 类 来 实 现PRNG。 这 个 PRNG 是可移植和可重复的。因此&#xff0c;如 果 两 个java.util.Random 类的实例使用了相同的种子&#xff0c;会在所有的 Java 实 现 中 生 成 相 同 的 数 值 序 列 。 在应用初始化时&#xff0c;或者在每…...

【C语言.oj刷题】有序#整型矩阵元素查找##{思路+C源码}

目录 题目信息 题目分析&#xff1a; 法一&#xff1a; 遍历二维数组&#xff08;低效&#xff09; 思路 源码 局限性 法二&#xff1a; 对每一行二分查找&#xff08;有所提效&#xff09; 思路 源码 局限性 法三&#xff1a; 利用一切有利条件使用二分查找 思路 …...

rabbitmq默认交换机锁绑定的routingkey-待研究

例如这个是我的一个消息队列&#xff0c;它默认绑定的交换机是 什么类型呢? 看到这个图&#xff0c;感觉应该是一个默认的交换机&#xff0c;因为是default exchange 于是来到交换机来看看其他默认的交换机&#xff1a; 这里可以看到默认的交换机是direct&#xff08;应该没…...

【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 4

1、下列哪个选项填到填到下图空缺处最合适 A、 B、 C、 D、 答案&#xff1a;D 2、按照如下图的规律摆放正方形&#xff0c;第 5 堆正方形的个数是 A、13 B、14 C、15 D、16 答案&#xff1a;D 3、从右面观察下面的立体图形&#xff0c;看到的是 A、 B、 C、 D、 答…...

基于STM32CubeMX和keil采用RTC时钟周期唤醒和闹钟实现LED与BEEP周期开关

文章目录 前言1. RTC概念1.1 RTC的时钟信号源1.2 预分频器1.3 实时时钟与日历数据1.4 周期性自动唤醒1.5 可编程闹钟 2. RTC相关中断3. STM32CubeMX配置3.1 时钟配置3.2 引脚配置3.3 RTC配置3.3.1 模式选择3.3.2 RTC基本参数配置3.3 中断配置 4. 代码编写总结 前言 RTC的功能有…...

Virtual安装centos后,xshell连接centos

1. 网络使用Host-Only模式动态分配IP&#xff0c;点确定后&#xff0c;centos 上运行 system restart network &#xff0c;使用ifconfig查看新的ip&#xff0c;XShell可以直接连上centos&#xff0c; 但是由于使用的是Host-Only模式&#xff0c;centos不能访问网络&#xff0c…...

Taro.navigateTo 使用URL传参数和目标页面参数获取

文章目录 1. Taro.navigateTo 简介2. 通过 URL 传递参数3. 目标页面参数获取4. 拓展与分析4.1 拓展4.2 URL参数的类型4.3 页面间通信 5. 总结 &#x1f389;欢迎来到Java学习路线专栏~Taro.navigateTo 使用URL传参数和目标页面参数获取 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x…...

Unity Meta Quest 一体机开发(七):配置玩家 Hand Grab 功能

文章目录 &#x1f4d5;教程说明&#x1f4d5;玩家物体配置 Hand Grab Interactor⭐添加 Hand Grab Interactor 物体⭐激活 Hand Grab Visual 和 Hand Grab Glow⭐更新 Best Hover Interactor Group &#x1f4d5;配置可抓取物体&#xff08;无抓取手势&#xff09;⭐刚体和碰撞…...

我又开始贩卖焦虑了,机器视觉兄弟们,打工这生意盘不活了?让人逃离北上广深,是毒鸡汤吗?

我想大多数人和我想的一样&#xff0c;不要质疑自己的出身&#xff0c;也不必用一生去改变出身而获得融入感&#xff0c;思想富足这是我们留给自己一生最珍贵的礼物。也许一线城市容不下肉身&#xff0c;二三线城市容不下灵魂。那我回到生我养我的十八线小县城&#xff0c;这不…...

hyperledger fabric2.4测试网络添加组织数量

!!!修改内容比较繁琐,预期未来提供模板修改 修改初始配置文件,初始添加3个组织 organizations文件夹 /cryptogen文件夹下创建文件crypto-config-org3.yaml,内容如下: PeerOrgs:# ---------------------------------------------------------------------------# Org3# ----…...

分库分表

分库&#xff0c;分表&#xff0c;分库分表 “只分库“&#xff0c;“只分表“&#xff0c;“既分库又分表" 何时分库 在面对高并发的情况下&#xff0c;数据库连接成为性能瓶颈。当数据QPS过高导致数据库连接数不足时&#xff0c;考虑分库。在读多写少的场景下&#x…...

m4s-converter:让B站缓存视频重获新生的终极解决方案

m4s-converter&#xff1a;让B站缓存视频重获新生的终极解决方案 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到过这样的情况&…...

终极暗黑破坏神2存档编辑器:轻松修改单机角色的完整指南

终极暗黑破坏神2存档编辑器&#xff1a;轻松修改单机角色的完整指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2单机存档的管理而烦恼吗&#xff1f;d2s-editor是一款功能强大的暗黑破坏神2存档编辑器&…...

Wonder3D:如何用一张照片在3分钟内创建专业3D模型?

Wonder3D&#xff1a;如何用一张照片在3分钟内创建专业3D模型&#xff1f; 【免费下载链接】Wonder3D Single Image to 3D using Cross-Domain Diffusion for 3D Generation 项目地址: https://gitcode.com/gh_mirrors/wo/Wonder3D 你是否曾想过将一张普通的2D照片变成可…...

张量网络机器学习:从平均风险下界看量子模型泛化极限

1. 项目概述&#xff1a;当张量网络遇见机器学习如果你和我一样&#xff0c;既对量子多体物理中的张量网络着迷&#xff0c;又对机器学习模型的泛化能力充满好奇&#xff0c;那么“张量网络机器学习模型平均风险的理论分析”这个课题&#xff0c;无疑是一个能将两者完美结合的宝…...

算法日记 | C++ 结构体

算法日记 | C 结构体实战&#xff1a;如何优雅地处理“复杂数据”&#xff1f;&#x1f44b; 大家好。今天我们来点轻松但同样重要的基础内功—— 结构体 (Struct) 。很多同学写代码时&#xff0c;还在用 a[100], b[100], c[100] 这样散乱的数组来存数据吗&#xff1f;一旦数据…...

BilibiliDown深度评测:5大实用技巧让你轻松收藏B站优质内容

BilibiliDown深度评测&#xff1a;5大实用技巧让你轻松收藏B站优质内容 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirr…...

Veo整合失败的3大致命误区,第2个90%团队仍在踩——附Google Cloud Vertex AI+Veo私有化部署Checklist(含GPU显存优化参数)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Veo与其他AI视频工具整合 Veo 作为 Google 推出的高保真长时长视频生成模型&#xff0c;其核心价值不仅体现在独立生成能力上&#xff0c;更在于与现有 AI 视频工作流的深度协同。通过标准化 API 接口与…...

如何专业解锁联想刃7000K BIOS隐藏选项:3步开启完整高级设置权限

如何专业解锁联想刃7000K BIOS隐藏选项&#xff1a;3步开启完整高级设置权限 【免费下载链接】Lenovo-7000k-Unlock-BIOS Lenovo联想刃7000k2021-3060版解锁BIOS隐藏选项并提升为Admin权限 项目地址: https://gitcode.com/gh_mirrors/le/Lenovo-7000k-Unlock-BIOS 想要充…...

暗黑破坏神2现代适配指南:如何使用d2dx解锁宽屏视野、提升帧率与画质

暗黑破坏神2现代适配指南&#xff1a;如何使用d2dx解锁宽屏视野、提升帧率与画质 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx …...

手把手教你为Ubuntu 22.04服务器安装Tesla V100s驱动与CUDA 12.2(保姆级避坑指南)

手把手教你为Ubuntu 22.04服务器安装Tesla V100s驱动与CUDA 12.2&#xff08;保姆级避坑指南&#xff09; 在AI模型训练和推理领域&#xff0c;Tesla V100s显卡凭借其强大的计算能力和高效的Tensor Core架构&#xff0c;成为许多企业和研究机构的首选。然而&#xff0c;为Ubunt…...