数字图像处理 三 空间滤波

空间滤波是一种图像处理技术,它通过对图像像素及其邻域进行运算,利用均值,高斯,梯度,拉普拉斯等线性滤波和中值,最大最小,双边滤波等非线性滤波改变像素值,实现图像的平滑,锐化,去噪或边缘检测等功能。

1 线性滤波

线性指的是满足叠加和比例不变性

(1)平滑滤波

平滑滤波的滤波核都为正,使得滤波后,图像更平滑,处理思路为积分;

 

滤波核越大 图像越模糊

①均值滤波

边界处理

对边界附近的像素,滤波核的部分可能落在图像区域外

1.常数填充

2.镜像填充(以边界为轴)

为什么要边界处理?

1、 对边界附近的像素,滤波核的部分可能落在图像区域外。

2、若越界直接不作为滤波核: 如果不进行边界处理,不同像素点作为滤波核中心的次数不一样,有些点不会作为滤波核的中心出现

快速均值滤波

//实现积分图像
void integral_image(const uchar *src,int width,int height,int sstride,int *pint,int istride)
{
    int *prow=new int[width];
    memset(prow,0,sizeof(int)*width);
    for(int yi=0;yi<height;++yi,src+=sstride,pint+=istride)
    {
        prow[0]+=src[0];pint[0]=prow[0];
        for(int xi=0;xi<width;++xi)
        {
            prow[xi]+=src[xi];
            pint[xi]=pint[xi-1]+prow[xi];
        }
    }

    delete[]prow;
}

设滤波窗口大小为2w+1,滤波结果为图像O,则:

O(u,v)=\frac{1}{Z}[S(u+w,v+w)+S(u-w-1,v-w-1)-S(u+w,v-w-1)-S(u-w-1,v+w)]

Z=(2w+1)(2w+1)为像素个数,中括号内即为滤波窗口覆盖的像素颜色值之和;

②高斯滤波

以高斯函数为滤波核,注意归一化

行列可分离:核大小为M的二维图像高斯滤波,等价于同样核大小的一维高斯滤波核在行列方向的叠加

σ越大,核应该越大,M=[6σ-1]

σ很大时,则与均值滤波相等

 

标准差\sigma越大,说明分布越分散,更应该考虑大范围的数据,权重更平均,更注重全局;

标准差\sigma越小,说明分布越集中,更应该考虑中心局部的细节。

(2)锐化滤波 

锐化滤波的滤波核中心为正,边缘为负,总和为0,这样滤波的图像后更尖锐,处理思路为差分。

最常见的差分思路就是梯度。

梯度的大小,简约计算,用各方向的和代替

①梯度滤波

梯度滤波主要进行边缘方向和强度的检测,降噪

1'Roberts算子

对角线方向的梯度

2'Prewitt算子

水平垂直方向的算子

3'Sobel算子

Sobel算子在Prewitt算子的基础上加了权重的概念,距离越近的像素点对当前像素点的影响越大。这种加权使得它在边缘检测时能更准确突出边缘轮廓,减少边缘模糊。 

②拉普拉斯滤波

拉普拉斯滤波主要进行边缘和图像突变的检测 降噪

噪声:存在噪声的情况下,一阶导就会失效,无法检测出边界

特点

拉普拉斯锐化滤波器原图+拉普拉斯滤波后的图=锐化图

 

2 非线性滤波

(1)中值滤波

取滤波核中位数代替,用于降噪,消除椒盐噪声

(2)双边滤波

前面提到的高斯滤波,消除噪音的同时,也使得边缘变得模糊;

而双边滤波,降噪的同时,不会使边界不模糊。

因为双边滤波同时考虑空间位置和颜色像素之差,当颜色相近时,权重较大,颜色相差很远,权重很小,所以边缘部分不模糊。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CVE-2024-12987 】DrayTek 网关设备中 `apmcfgupload` 端点的命令注入漏洞

概述 DrayTek 网关设备(包括 Vigor2960 和 Vigor300B 型号)存在通过 Web 管理接口进行命令注入的漏洞。攻击者可以通过发送恶意的 HTTP 请求到 /cgi-bin/mainfunction.cgi/apmcfgupload 端点,利用该漏洞注入任意命令,从而影响超过 66,000 台连接到互联网的设备。 受影响的…

mac下载Homebrew安装nvm

通过Homebrew安装 - 国内下载地址 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装nvm brew install nvm 配置nvm环境变量 export NVM_DIR“$HOME/.nvm” [ -s “/usr/local/opt/nvm/nvm.sh” ] && . “/usr/…

[react] 纯组件优化子

有组件如下,上面变化秒数, 下面是大量计算的子组件,上面每一秒钟变化一次,这时候子组件会不断重新渲染, 浪费资源 父组件如下 import React, { memo, useEffect, useMemo, useState } from react; import type { ReactNode, FC } from react; import HugeCount from ./Te; int…

Unity Mesh生成Cube

1. 配置一个Cube的每个面的数据 一共是6个面&#xff0c;每个面包含的数据包括4个顶点的相对顶点坐标&#xff08;Cube的中心为原点&#xff09;&#xff0c;法线方向&#xff0c;UV坐标&#xff0c;顶点渲染顺序&#xff0c;以及这个面用到的材质&#xff0c;因为这里是Top&am…

Spring--三级缓存机制

一、什么是三级缓存 就是在Bean生成流程中保存Bean对象三种形态的三个Map集合&#xff0c;如下&#xff1a; // 一级缓存Map 存放完整的Bean&#xff08;流程跑完的&#xff09; private final Map<String, Object> singletonObjects new ConcurrentHashMap(256);// 二…

使用R语言绘制标准的中国地图和世界地图

在日常的学习和生活中&#xff0c;有时我们常常需要制作带有国界线的地图。这个时候绘制标准的国家地图就显得很重要。目前国家标准地图服务系统向全社会公布的标准中国地图数据&#xff0c;是最权威的地图数据。 今天介绍的R包“ggmapcn”&#xff0c;就是基于最新公布的地图…

2025考研江南大学复试科目控制综合(初试807自动控制原理)

​ 2025年全国硕士研究生招生考试江南大学考点 一年年的考研如期而至&#xff0c;我也变成了研二了&#xff0c;作为2次考研经历的学长&#xff0c;总是情不自禁地回想起自己的考研经历&#xff0c;我也会经常从那段经历中汲取力量。我能理解大多数考生考完后的的迷茫无助&…

WebApi使用 (.Net Framework版)

1 创建 使用.Net做web后端&#xff0c;推荐使用.Net Core&#xff0c;微软在此基础上做了很多适配&#xff0c;包括内置Swagger&#xff0c;可以直接启动等等。而.Net Framework版&#xff0c;需要手动配置很多内容。 如果需要调用的项目是基于.Net Framework&#xff0c;那么…

使用 ASP.NET Core wwwroot 上传和存储文件

在 ASP.NET Core 应用程序中上传和存储文件是用户个人资料、产品目录等功能的常见要求。本指南将解释使用wwwroot存储图像&#xff08;可用于文件&#xff09;的过程以及如何在应用程序中处理图像上传。 步骤 1&#xff1a;设置项目环境 确保您的 ASP.NET 项目中具有必要的依…

2024年中国新能源汽车用车发展怎么样 PaperGPT(一)

概述 在国家政策的强力扶持下&#xff0c;2024年中国新能源汽车市场迎来了新的发展机遇。本文将基于《中国新能源汽车用车报告&#xff08;2024年&#xff09;》的数据&#xff0c;对新能源汽车的市场发展和用车趋势概述。 新能源汽车市场发展 政策推动&#xff1a;国家和地…

[论文粗读]A Simple Framework for Contrastive Learning of Visual Representations

引言 今天带来一篇经典论文A Simple Framework for Contrastive Learning of Visual Representations的笔记。 本篇工作提出了SimCLR&#xff0c;一种用于视觉表征对比学习的简单框架。提出(1)数据增强组合在定义有效预测任务中起到至关重要的作用&#xff1b;(2)在表示和对比…

(leetcode算法题)188. 买卖股票的最佳时机 IV

题目中要求最多可以完成k次交易&#xff0c;很多时候不要把问题搞复杂了&#xff0c; 按照题目要求&#xff0c;研究对象是最后一天结束后最多进行了 k 次交易获得的最大利润 那么就可以把问题拆分成 第 1 天结束后完成 0 次交易获得的最大利润&#xff0c;第 1 天结束后完成…

使用 Docker 搭建 Hadoop 集群

1.1. 启用 WSL 与虚拟机平台 1.1.1. 启用功能 启用 WSL并使用 Moba 连接-CSDN博客 1.2 安装 Docker Desktop 最新版本链接&#xff1a;Docker Desktop: The #1 Containerization Tool for Developers | Docker 指定版本链接&#xff1a;Docker Desktop release notes | Do…

win32汇编环境,对话框程序模版,含文本框与菜单简单功能

;运行效果 ;win32汇编环境,对话框程序模版&#xff0c;含文本框与菜单简单功能 ;直接抄进RadAsm可编译运行。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g…

【赵渝强老师】MongoDB文档级别的并发控制

MongoDB在执行写操作时&#xff0c;WiredTiger存储引擎会在文档级别进行并发控制。换句话说在同一时间点上&#xff0c;多个写操作能够修改同一个集合中的不同文档&#xff1b;而当多个写操作修改同一个文档时&#xff0c;必须以序列化方式执行。这意味着如果当前文档正在被修改…

Java开发 PDF文件生成方案

业务需求背景 业务端需要能够将考试答卷内容按指定格式呈现并导出为pdf格式进行存档&#xff0c;作为紧急需求插入。导出内容存在样式复杂性&#xff0c;包括特定的字体&#xff08;中文&#xff09;、字号、颜色&#xff0c;页面得有页眉、页码&#xff0c;数据需要进行表格聚…

C++文件流 例题

问题&#xff1a; 设计一个留言类&#xff0c;实现以下的功能&#xff1a; 1) 程序第一次运行时&#xff0c;建立一个 message.txt 文本文件&#xff0c;并把用 户输入的信息存入该文件&#xff1b; 2) 以后每次运行时&#xff0c;都先读取该文件的内容并显示给用户&#xf…

Xilinx DCI技术

Xilinx DCI技术 DCI技术概述Xilinx DCI技术实际使用某些Bank特殊DCI要求 DCI级联技术DCI端接方式阻抗控制驱动器&#xff08;源端接&#xff09;半阻抗控制阻抗驱动器&#xff08;源端接&#xff09;分体式DCI&#xff08;戴维宁等效端接到VCCO/2&#xff09;DCI和三态DCI&…

「Mac畅玩鸿蒙与硬件51」UI互动应用篇28 - 模拟记账应用

本篇教程将介绍如何创建一个模拟记账应用&#xff0c;通过账单输入、动态列表展示和实时统计功能&#xff0c;学习接口定义和组件间的数据交互。 关键词 UI互动应用接口定义动态列表实时统计数据交互 一、功能说明 模拟记账应用包含以下功能&#xff1a; 账单输入&#xff1…

阴阳师の新手如何速刷5个SP/SSR?!(急速育成)

目标&#xff1a;攒5个SP/SSR式神&#xff0c;参与急速育成&#xff0c;省四个黑蛋&#xff08;想要快速升级技能而且经常上场的式神在攒够5个式神前先不升级&#xff09;【理论上组成&#xff1a;10蓝40蓝预约召唤福利20修行or抽卡】 关键点&#xff1a;蓝票&#xff0c;新手…