(九)图像的高斯低通滤波

环境:Windows10专业版 + IDEA2021.2.3 + jdk11.0.1 + OpenCV-460.jar

系列文章:

(一)Python+GDAL实现BSQ,BIP,BIL格式的相互转换

(二)BSQ,BIL,BIP存储格式的相互转换算法

(三)单波段图像的伪彩色合成:密度分割(含介绍OpenCV中的Mat类)

(四)图像的%2线性拉伸

(五)图像的标准假彩色合成

(六)图像的直方图均衡化

(七)图像的均值滤波

(八)图像的中值滤波

(九)图像的高斯低通滤波

(十)图像的梯度倒数加权平滑

(十一)图像的罗伯特梯度锐化

(十二)图像的Sobel梯度锐化

(十三)图像的拉普拉斯梯度锐化

目录

一、高斯低通滤波简介

二、算法流程

三、代码实现

四、实验结果

 1、读入的图像

 2、经过高斯滤波后的图像


一、高斯低通滤波简介

高斯低通滤波是一种用于图像处理的滤波技术,通过减少图像的高频成分来达到平滑图像的效果

广泛应用于图像处理领域的滤波器,它基于高斯函数(也称为正态分布)的性质,对图像进行卷积操作,从而达到模糊图像和降噪的目的。

以下是高斯低通滤波的一些关键点:

1、基本原理:高斯滤波工作于一种二维低通系统的原理,通常以矩阵(核)的形式出现。在图像处理中,这个核与图像做卷积运算,从而降低或消除图像中的高频噪声部分。

2、高斯函数性质:高斯函数具有旋转对称性,这意味着它在各个方向上的平滑效果是相同的。此外,高斯函数是单值函数,在整个图像区域中权重为正值,并且随着距离中心点越远,权重逐渐减小至零。这使得高斯滤波在保留图像整体结构的同时能有效模糊细节。

3、标准差的影响:高斯滤波中的标准差(σ)决定了权重分布的宽度。σ越大,滤波器的频带越宽,图像就会更加模糊;反之,σ越小,则频带越窄,图像的细节将更加清晰。

4、权重归一化:为了确保滤波后像素值保持在有效的范围内,需要对高斯权重进行归一化处理,使得所有权重加起来等于1。

5、应用效果:高斯低通滤波器非常适合用于减少图像中的随机噪声,尤其是服从正态分布的高斯噪声。由于其平滑特性,它还常用于图像的边缘检测、特征提取前的预处理等场景。

6、优缺点:对高斯噪声的滤除非常有效;但平滑程度越大,图像越模糊。

高斯低通滤波以其独特的平滑特性在图像处理领域中占有重要地位,尤其适用于需要在保留图像整体特征的同时去除噪点和细节干扰的场景。

二、算法流程

(以单波段图像为例)

1、利用OpenCV读入图像,将像素存储在数组里

2、高斯低通滤波的具体操作是:用一个模板扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值,高斯滤波的结果和高斯分布的标准差σ有关,σ越大,平滑效果越好,如图所示为一个标准差σ为0.9的高斯卷积模板

 3、进行卷积运算,边缘像素不做处理,注意卷积后的结果需要取整

三、代码实现

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;/*** @Author: HNUST_jue_chen* @Date: 2022/11/02/ 16:48* @Attention: 转载, 引用请注明出处*/public class GaussianFiltering {//加载本地动态链接库static {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);}//高斯低通滤波public Mat gaussianFilter(String path) {//使用Mat类存储图像信息Mat mat = Imgcodecs.imread(path);//图像大小int rows = mat.rows();int cols = mat.cols();//获得原图像像素数组int[][] mat_arr = new int[rows][cols];for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {mat_arr[i][j] = (int) mat.get(i, j)[0];}}//用3×3窗口进行高斯低通滤波//卷积核为:1/16×[[1,2,1][2,4,2][1,2,1]]int[][] mat_arr_gaussianFilter = new int[rows][cols];for (int i = 0; i < rows; i++) {for (int j = 0; j < cols; j++) {if (i != 0 && i != rows - 1 && j != 0 && j != cols - 1) {mat_arr_gaussianFilter[i][j] = (int) ((1.0 / 16)* (mat_arr[i - 1][j - 1] + mat_arr[i - 1][j] * 2 + mat_arr[i - 1][j + 1]+ mat_arr[i][j - 1] * 2 + mat_arr[i][j] * 4 + mat_arr[i][j + 1] * 2+ mat_arr[i + 1][j - 1] + mat_arr[i + 1][j] * 2 + mat_arr[i + 1][j + 1]));} else {    //处理边缘像素mat_arr_gaussianFilter[i][j] = mat_arr[i][j];}}}//合成图像Mat mat_gaussianFilter = new Mat(rows, cols, CvType.CV_32SC1);//将像素放入图像for (int i = 0; i < rows; i++) {//一次放入一行像素值mat_gaussianFilter.put(i, 0, mat_arr_gaussianFilter[i]);}return mat_gaussianFilter;}public static void main(String[] args) {GaussianFiltering gf = new GaussianFiltering();Mat mat = gf.gaussianFilter("D:\\Project\\IDEA_Project\\RS01\\src\\rs01\\img\\2_gray.png");//将高斯低通滤波后的图像写入文件Imgcodecs.imwrite("D:\\Project\\IDEA_Project\\RS01\\src\\rs01\\img\\2_gray_gf.png", mat);}
}

四、实验结果

 1、读入的图像

 2、经过高斯滤波后的图像

经过高斯低通滤波的图像变得模糊,即能够有效的抑制噪声,平滑图像

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

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

相关文章

Flask学习(六):蓝图(Blueprint)

蓝图&#xff08;Blueprint&#xff09;&#xff1a;将各个业务进行区分&#xff0c;然后每一个业务单元可以独立维护&#xff0c;Blueprint可以单独具有自己的模板、静态文件或者其它的通用操作方法&#xff0c;它并不是必须要实现应用的视图和函数的。 Demo目录结构&#xf…

linux离线安装jenkins及使用教程

本教程采用jenkins.war的方式离线安装部署&#xff0c;在线下载的方式会遇到诸多问题&#xff0c;不宜采用 一、下载地址 地址&#xff1a;Jenkins download and deployment 下载最新的长期支持版 由于jenkins使用java开发的&#xff0c;所以需要安装的linux服务器装有jdk环…

插入排序、归并排序、堆排序和快速排序的稳定性分析

插入排序、归并排序、堆排序和快速排序的稳定性分析 一、插入排序的稳定性二、归并排序的稳定性三、堆排序的稳定性四、快速排序的稳定性总结在计算机科学中,排序是将一组数据按照特定顺序进行排列的过程。排序算法的效率和稳定性是评价其优劣的两个重要指标。稳定性指的是在排…

新版Idea2023.3.5与lombok冲突、@Data失效

新版idea和lombok冲突&#xff0c;加上Data&#xff0c;其他地方get set也不报错&#xff0c;但是一运行就找不到get set方法。 但是直接使用Getter和Setter可以访问、应该是Data失效了。 解决方法&#xff1a; 看推上介绍是 lombok 与 idea 采集 get 、set 方法的时候所用的技…

Jupyter开启远程服务器(最新版)

Jupyter Notebook 在本地进行访问时比较简单&#xff0c;直接在cmd命令行下输入 jupyter notebook 即可&#xff0c;然而notebook的作用不止于此&#xff0c;还可以用于远程连接服务器&#xff0c;这样如果你有一台服务器内存很大&#xff0c;但是呢你又不喜欢在linux上进行操作…

【C语言】编译和链接----预处理详解【图文详解】

欢迎来CILMY23的博客喔&#xff0c;本篇为【C语言】文件操作揭秘&#xff1a;C语言中文件的顺序读写、随机读写、判断文件结束和文件缓冲区详细解析【图文详解】&#xff0c;感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞关注收藏。 前言 欢迎来到本篇博客&…

如何备考2025年AMC8竞赛?吃透2000-2024年600道真题(免费送题)

最近有家长朋友问我&#xff0c;现在有哪些类似于奥数的比赛可以参加&#xff1f;我的建议可以关注下AMC8的竞赛&#xff0c;类似于国内的奥数&#xff0c;但是其难度要比国内的奥数低一些&#xff0c;而且比赛门槛更低&#xff0c;考试也更方便。比赛的题目尤其是应用题比较有…

Redis开源协议变更!Garnet:微软开源代替方案?

Garnet&#xff1a;微软开源的高性能替代方案&#xff0c;秉承兼容 RESP 协议的同时&#xff0c;以卓越性能和无缝迁移能力重新定义分布式缓存存储&#xff01; - 精选真开源&#xff0c;释放新价值。 概览 最近&#xff0c;Redis修改了开源协议&#xff0c;从BSD变成了 SSPLv…

第二十一章 Jquery ajax

文章目录 1. jquery下载2. jquery的使用3. jquery页面加载完毕执行4. jquery属性控制6. 遍历器 2. ajax1. 准备后台服务器2. ajax发送get请求3. ajax发送post请求 1. jquery下载 点击下载 稳定版本1.9 2. jquery的使用 存放到html文件的同级目录 3. jquery页面加载完毕执行…

Unity | 射线检测及EventSystem总结

目录 一、知识概述 1.Input.mousePosition 2.Camera.ScreenToWorldPoint 3.Camera.ScreenPointToRay 4.Physics2D.Raycast 二、射线相关 1.3D&#xff08;包括UI&#xff09;、射线与ScreenPointToRay 2.3D&#xff08;包括UI&#xff09;、射线与ScreenToWorldPoint …

Linux安装redis(基于CentOS系统,Ubuntu也可参考)

前言&#xff1a;本文内容为实操记录&#xff0c;仅供参考&#xff01; 一、下载并解压Redis 1、执行下面的命令下载redis&#xff1a;wget https://download.redis.io/releases/redis-6.2.6.tar.gz 2、解压redis&#xff1a;tar xzf redis-6.2.6.tar.gz 3、移动redis目录&a…

“直播曝光“有哪些媒体直播分流资源?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 我们线下举办活动时&#xff0c;往往希望活动进行更大的曝光&#xff0c;随着视频直播越来越被大众认可&#xff0c;甚至成了活动的标配&#xff0c;那么做活动视频直播的时候&#xff0…

admin端

一、创建项目 1.1 技术栈 1.2 vite 项目初始化 npm init vitelatest vue3-element-admin --template vue-ts 1.3 src 路径别名配置 Vite 配置 配置 vite.config.ts // https://vitejs.dev/config/import { UserConfig, ConfigEnv, loadEnv, defineConfig } from vite im…

|行业洞察·趋势报告|《2024旅游度假市场简析报告-17页》

报告的主要内容解读&#xff1a; 居民收入提高推动旅游业发展&#xff1a;报告指出&#xff0c;随着人均GDP的提升&#xff0c;居民的消费能力增强&#xff0c;旅游需求从传统的观光游向休闲、度假游转变&#xff0c;国内人均旅游消费持续增加。 政府政策促进旅游市场复苏&…

公众号的AI聊天机器人已修复!谷歌Gemini Pro 10大使用场景解析

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

WorkPlus Meet构建局域网视频会议解决方案,助力企业协同与沟通

在当今数字化时代&#xff0c;局域网视频会议扮演着企业协同与沟通的重要角色。而选择适合的局域网视频会议平台能够提升企业的协作效率与沟通效果。WorkPlus Meet以其卓越的性能和强大的功能&#xff0c;成为企业局域网视频会议的首选。 局域网视频会议的优势与作用不言而喻。…

蓝桥杯-卡片换位

solution 有一个测试点没有空格&#xff0c;要特别处理&#xff0c;否则会有一个测试点运行错误&#xff01; 还有输入数据的规模在变&#xff0c;小心顺手敲错了边界条件 #include<iostream> #include<string> #include<queue> #include<map> #incl…

进程与文件

目录 Linux的 > 和 >> 文件的本质 &#xff1a; 操作系统的系统调用函数 open&#xff1a; close&#xff1a;关闭文件 write&#xff1a; open的返回值&#xff1a; 操作系统视角中的“文件与进程之间的关系”&#xff1a; 从上图可以得知以下论点&#xff1a…

LabVIEW电动汽车直流充电桩监控系统

LabVIEW电动汽车直流充电桩监控系统 随着电动汽车的普及&#xff0c;充电桩的安全运行成为重要议题。通过集成传感器监测、单片机技术与LabVIEW开发平台&#xff0c;设计了一套电动汽车直流充电桩监控系统&#xff0c;能实时监测充电桩的温度、电压和电流&#xff0c;并进行数…

基于微信小程序的民宿短租系统设计与实现(论文+源码)_kaic

摘 要 随着社会的发展&#xff0c;出差、旅游成为常态&#xff0c;也就造成民宿短租市场的兴起。人们新到陌生的环境里找民宿一般都是通过中介。中介虽然可以快速找到合适的民宿但会收取大量的中介费用&#xff0c;这对刚到新环境里的人们来说是一笔大的资金支出。也有一些人通…