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

高斯滤波的简介、C语言实现和实测

文章目录

  • 前言
  • 一、核心原理
  • 二、C语言实现
  • 三、实测
  • 四、主要特点与优势
  • 五、应用场景
  • 六、总结


前言

高斯滤波(Gaussian Filter)是一种广泛应用于图像处理、信号处理和计算机视觉领域的线性平滑滤波器。它基于高斯函数(正态分布函数)来生成滤波核(卷积核),对图像或信号进行加权平均,以达到去噪和模糊的效果。

一、核心原理

  • 高斯函数 (Gaussian Function):
    二维高斯函数是其基础,定义如下:
    G(x, y) = (1 / (2πσ²)) * exp(-(x² + y²) / (2σ²))
    • (x, y):是滤波核中某个位置相对于中心点的坐标。
    • σ (sigma):是标准差,是控制高斯核形状的关键参数。
    • σ 越大:高斯曲线越“胖”和“平”,滤波核的权重分布越分散,影响范围越大,产生的模糊效果越强。
    • σ 越小:高斯曲线越“瘦”和“尖”,权重越集中在中心点,模糊效果越弱,更接近于简单的均值滤波。
  • 滤波核 (Kernel):
    • 选择一个合适的尺寸(如 3x3, 5x5, 7x7),中心点为 (0, 0)。
    • 将高斯函数计算出的值填入核的每个位置。
    • 对整个核进行归一化(所有元素求和后,每个元素除以这个总和),确保滤波后图像的总体亮度不变(加权平均的权重和为1)。
  • 卷积操作 (Convolution):
    • 将滤波核在图像上滑动。
    • 对于图像上的每一个像素点,将其邻域(由核大小决定)内的像素值与核中对应位置的权重相乘。
    • 将所有乘积结果相加,得到的新值作为该中心像素的输出值。
    • 由于高斯核是对称且可分离的,计算可以优化:
      • 对称性:核在水平和垂直方向上对称,简化了设计。
      • 可分离性:一个二维高斯核可以分解为一个一维水平高斯核和一个一维垂直高斯核的组合。这意味着可以先用一维核对图像进行水平方向卷积,再用另一个一维核对结果进行垂直方向卷积。这大大降低了计算复杂度(从 O(n²) 到 O(2n))。

二、C语言实现

static inline int convolution(int *operator, unsigned char *block)
{int value = 0, i, j;for (i = 0; i < 3; i++
http://www.dtcms.com/a/357658.html

相关文章:

  • simd笔记
  • 嵌入式-定时器的从模式控制器、PWM参数测量实验-Day24
  • 命令拓展(草稿)
  • C++ 并发编程:全面解析主流锁管理类
  • 虚拟私有网络笔记
  • HDMI2.1 8K验证平台
  • websocket建立连接过程
  • 航电系统路径规划技术解析
  • C++Primer笔记——第六章:函数(下)
  • Python气象与海洋:安装入门+科学计算库+可视化+台风数据+WRF/ROMS后处理+EOF分析+机器学习
  • C++标准库断言头文件<cassert>使用指南
  • 告别音色漂移!微软超长语音合成模型VibeVoice正式开源​
  • Ubuntu磁盘分区重新挂载读写指南
  • 蓓韵安禧活性叶酸专利益生菌优生优选
  • 3D 数字孪生可视化技术在学校项目中的应用
  • AI 自动化编程 trae 体验3 开发小程序
  • 通过Kubernetes安装mysql5服务
  • Aha Moment——啊哈时刻!
  • ContextMenuManager for Win:优化右键菜单,解决用户痛点
  • Coze源码分析-API授权-编辑令牌-前端源码
  • 今天聊聊支付里的三个小概念:同名充值、非同代付和 D0。
  • NLP:驱动人工智能迈向 “理解” 与 “对话” 的核心引擎
  • 2025年06月 Scratch 图形化(一级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 小杰机器视觉(five day)——直方图均衡化
  • five86: 1靶场渗透测试
  • 大模型应用开发笔记(了解篇)
  • Pytorch超分辨率模型实现与详细解释
  • Linux内核进程管理子系统有什么第三十八回 —— 进程主结构详解(34)
  • 叠叠问题解决
  • iPaaS实施的前提是先进行集成关系的梳理