图像处理 高斯滤波(带权值的均值滤波)

2023-11-23 13:50

本文主要是介绍图像处理 高斯滤波(带权值的均值滤波),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、介绍

1、一维高斯滤波。

         \LARGE f(x)=\frac{1}{\sqrt{2\pi }\sigma }e^\frac{-(x-u)^2}{2\sigma^2 }

    a表示得到曲线的高度,u是指曲线在x轴的中心, σ指width(与半峰全宽有关,即平方差)。

2、二维高斯滤波。

        \LARGE f(x,y)=\frac{1}{2\pi \sigma ^2}e^\frac{-(x^2+y^2)}{2\sigma ^2}

二、二维高斯滤波模版

1、生成维高斯滤波模版。

public class MathUtils {/*** 获取高斯滤波模版的二维数组** @param length 模版长度,length=6sigma(%99.74), length=4sigma(95%), length=2sigma(68%)* @param sigma  模版标准差,length=6sigma(%99.74), length=4sigma(95%), length=2sigma(68%)*/public static double[][] getGaussTemplate(int length, double sigma) {double[][] gaussTemplate = new double[length][length];    // 用于存储结果int centerIndex = (length - 1) / 2;//模版的中心点double variance = sigma * sigma;//方差double sum = 0;for (int i = 0; i < length; ++i) {for (int j = 0; j < length; ++j) {int xLength = j - centerIndex;//x上的距离int yLength = i - centerIndex;//y上的距离double e = Math.exp(-(xLength * xLength + yLength * yLength) / (2 * variance));gaussTemplate[i][j] = e / (2 * Math.PI * variance);sum += gaussTemplate[i][j];}}//占得比重for (int i = 0; i < length; ++i) {for (int j = 0; j < length; ++j) {gaussTemplate[i][j] = gaussTemplate[i][j] / sum;}}//打印模版System.out.println(String.format("生成大小为%d,标准差为%.3f的二维高斯模版:", length, sigma));for (double[] doubles : gaussTemplate) {for (int j = 0; j < gaussTemplate.length; j++) {System.out.print(String.format("%8.3f", doubles[j]));}System.out.println();}return gaussTemplate;}
}
public static void main(String[] args) {//高斯滤波的模版,length=6sigma(%99.74), length=4sigma(95%), length=2sigma(68%)double[][] gaussTemplate1 = FilterUtils.getGaussTemplate(3, 1.5);double[][] gaussTemplate2 = FilterUtils.getGaussTemplate(3, 0.75);double[][] gaussTemplate3 = FilterUtils.getGaussTemplate(3, 0.5);double[][] gaussTemplate4 = FilterUtils.getGaussTemplate(5, 2.5);double[][] gaussTemplate5 = FilterUtils.getGaussTemplate(5, 1.25);double[][] gaussTemplate6 = FilterUtils.getGaussTemplate(5, 0.833);double[][] gaussTemplate7 = FilterUtils.getGaussTemplate(7, 3.5);double[][] gaussTemplate8 = FilterUtils.getGaussTemplate(7, 1.75);double[][] gaussTemplate9 = FilterUtils.getGaussTemplate(7, 1.167);}

2、日志打印的结果。

        生成大小为3,标准差为1.500的二维高斯模版:
           0.095   0.118   0.095
           0.118   0.148   0.118
           0.095   0.118   0.095
        生成大小为3,标准差为0.750的二维高斯模版:
           0.051   0.124   0.051
           0.124   0.301   0.124
           0.051   0.124   0.051
        生成大小为3,标准差为0.500的二维高斯模版:
           0.011   0.084   0.011
           0

这篇关于图像处理 高斯滤波(带权值的均值滤波)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/418383

相关文章

Open3D 基于法线的双边滤波

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 输入参数: 输出参数: 参数影响: 2.2完整代码 三、实现效果 3.1原始点云 3.2滤波后点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博客 一、概述         基于法线的双边

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

6.4双边滤波

目录 实验原理 示例代码1 运行结果1 实验代码2 运行结果2 实验原理 双边滤波(Bilateral Filtering)是一种非线性滤波技术,用于图像处理中去除噪声,同时保留边缘和细节。这种滤波器结合了空间邻近性和像素值相似性的双重加权,从而能够在去噪(平滑图像)的同时保留图像的边缘细节。双边滤波器能够在的同时,保持边缘清晰,因此非常适合用于去除噪声和保持图像特征。在Op

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日

高斯平面直角坐标讲解,以及地理坐标转换高斯平面直角坐标

高斯平面直角坐标系(Gauss-Krüger 坐标系)是基于 高斯-克吕格投影 的一种常见的平面坐标系统,主要用于地理信息系统 (GIS)、测绘和工程等领域。该坐标系将地球表面的经纬度(地理坐标)通过一种投影方式转换为平面直角坐标,以便在二维平面中进行距离、面积和角度的计算。 一 投影原理 高斯平面直角坐标系使用的是 高斯-克吕格投影(Gauss-Krüger Projection),这是 横

6.3中值滤波

目录 实验原理 示例代码1 运行结果1 示例代码2 运行结果2 实验原理 中值滤波(Median Filtering)是一种非线性滤波技术,常用于图像处理中去除噪声,特别是在保留边缘的同时减少椒盐噪声(salt-and-pepper noise)。OpenCV中的cv::medianBlur函数可以实现中值滤波。 函数原型 void medianBlur( InputAr

08_Tensorflow2图像处理秘籍:让图片‘听话’,AI也能成艺术家!

1. 图像数据处理 图像处理是指图像在神经网络训练之前的预处理,是人工智能视觉领域的重要组成部分。通过图像处理技术对图像数据集进行处理有两方面的作用:(1)将原始数据集处理成合格的、规范是数据集;(2)通过图像处理技术实现对原始数据集的增广。 # 库引入import matplotlib.pyplot as pltimport tensorflow as tf# 图像读取image_

python图像处理的图像几何变换

一.图像几何变换 图像几何变换不改变图像的像素值,在图像平面上进行像素变换。适当的几何变换可以最大程度地消除由于成像角度、透视关系乃至镜头自身原因所造成的几何失真所产生的负面影响。几何变换常常作为图像处理应用的预处理步骤,是图像归一化的核心工作之一[1]。 一个几何变换需要两部分运算: 空间变换:包括平移、缩放、旋转和正平行投影等,需要用它来表示输出图像与输入图像之间的像素映射关系。灰度插值

从零开始学cv-0:图像处理基础知识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一,图像分类1.1、模拟图像1.2、数字图像 二、颜色模式(颜色存储)2.1、RGB模式(发光模式)2.2、CMYK模式2.3、HSB模式2.4、Lab模式2.5、位图模式(Bitmap Mode)2.6、灰度模式(Grayscale Mode)2.7、索引颜色模式(Indexed Color Mode)