保边滤波之基于测地距离的滤波与局部拉普拉斯滤波_测距滤波csdn-程序员宅基地

技术标签: 计算机视觉  图像处理  人工智能  

(1)基于测地距离的滤波

给定图像I及其Hard Mask M,其中M(x)∈{0,1} ,M(x)=0表示x属于前景,M(x)=1表示x属于背景,图像中某点x到前面Hard Mask的测地距离为
在这里插入图片描述
在这里插入图片描述

???d(a,b)表示的是两个点之间像素值与像素位置之间的调和平均,而双边滤波也是用像素值以及像素位置表示,这两者都加入了像素值和像素位置,有什么区别吗?
基于硬掩膜做保边滤波:弄出255张掩膜,图像里面所有像素值为0的点在第一张掩膜的相应位置像素值标为0,以此类推,255张掩膜都这么做。再算图像里面每一个像素到0~255张掩膜的测地距离,e的-测地距离次方*对应像素值,再叠加起来。
针对Soft Mask的距离,考虑每个像素点的Mask值,测地距离为
在这里插入图片描述

基于soft mask做保边滤波,把所有的像素分成了k个level (μ1,μ2…μk),根据这k个level计算出k张Soft Mask 在这里插入图片描述

所以像素值离均值越近越近,执行度越高。
计算每个像素点到每个Soft Mask的测地距离在这里插入图片描述
并计算权重为:在这里插入图片描述

滤波后的图像为:在这里插入图片描述

(2)局部拉普拉斯滤波

用mask强行融合两个图像的话,边界交界处不平滑,有个拼接的缝。局部拉普拉斯滤波可以得到自然的处理结果。

利用局部拉普拉斯滤波图像融合过程:
(1) 为两幅图像生成拉普拉斯金字塔;
(2) 为Mask图像生成高斯金字塔;
(3) 将两幅图像的拉普拉斯金字塔按照Mask逐层合成一个拉普拉斯金字塔;好处:拼缝处高斯模糊了。
(4)重构融合的图像。如此接缝处是平滑的,并且包含各个尺度的特征。

???在重构拉普拉斯金字塔的时候我们要得到一些高频信息以及低频信息,然而高频信息却是通过高斯金字塔图层减去拉普拉斯金字塔图层来得到的,这样显然是合理的。但是为什么不用拉普拉斯变换来直接得到这些高频细节信息呢?拉普拉斯变换不就是通过拉普拉斯算子对图片进行判断来保留一些高频信息吗。

如果一个像素与其高斯滤波后的对应像素差异较大,那么该像素就在边缘上;如果一个像素与其高斯滤波后的对应像素差异较小,则其为细节。由此定义一个对于细节处理的函数与一个对于边缘处理的函数:在这里插入图片描述

其中i为某个像素,g是高斯滤波后i对应的像素;α控制模糊的程度(对小纹理区域梯度压制的程度),β控制动态范围扩展(缩小)的程度;σr是分辨细节和边缘的阈值。在这里插入图片描述

图一:某一点梯度在[g-sigma, g+sigma]范围内,是细节,α大于1,压制;梯度在[g-sigma, g+sigma]之外,不变。
图二:某一点梯度在[g-sigma, g+sigma]范围内,是细节,α小于1,扩展;梯度在[g-sigma, g+sigma]之外,不变。
第三个图是对图像在[g-sigma, g+sigma]之外做色调映射,α=1于是[g-sigma, g+sigma]范围内不变,而β在0-1之间,于是把动态范围缩小;
第四个是对图像在[g-sigma, g+sigma]之外做反色调映射。α=1于是[g-sigma, g+sigma]范围内不变,而β大于1,于是把动态范围放大扩展;
最后一个图是对图像在[g-sigma, g+sigma]之外做色调映射,在[g-sigma, g+sigma]之内做细节增强。在[g-sigma, g+sigma]之内α属于0~1,对该区域梯度压制,而β在0-1之间,于是把动态范围缩小。

双边滤波器:在这里插入图片描述

未归一化双边滤波器:在这里插入图片描述

归一化系数:在这里插入图片描述

归一化与未归一化的双边滤波器关系:在这里插入图片描述

其中,在这里插入图片描述

这个式子的意义就是未归一化的双边滤波结果是归一化的双边滤波结果和输入图像的加权平均。所以在一些边缘区域,αp比较小,这样未归一化双边滤波的输出结果就更像原图像一些,通常来说未归一化双边滤波会比归一化双边滤波软一些。

在这里插入图片描述

P1的边缘有伪像,p3是未归一化的双边滤波器,边缘没有伪像,p4是拉普拉斯滤波,更加的sharp。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/passwordee/article/details/127833640

智能推荐

阿里云的对象存储服务,oss 简介-程序员宅基地

文章浏览阅读1.4w次,点赞5次,收藏33次。阿里云的对象存储服务,oss 简介在电子科大的21学年的 数据库新技术 课程中,我接触到了一个 对象存储的 概念。过往接触的就是那些 mysql 这些二维表的数据库,在做一些java 项目,比如 springboot 的项目中,也是直接讲对象的字段,逐一插入 数据库 的 一个 row;没有那种直接存储对象的数据库。后来在写博客的时候,发现有人用阿里云的oss 对象存储作为图床。所以,这篇文章就整理一下有关 阿里云 对象存储 的知识点。什么是对象存储OSSOSS的全称是:Object Storag_oss

【Theano】使用Theano编写神经网络_theano的网络里的参数如何去用-程序员宅基地

文章浏览阅读767次。上一篇说到windows下面的Theano安装,在前面的文章中也介绍了几种常见的神经网络形式,今天就使用Theano来编写一个简单的神经网络 我把Theano形容成一个模子,这个模子提供了一些计算方法,然后我们只需要定义模子的形状和填充数据就可以了,且慢慢看: 首先我们定义初始数据集:Python代码 np.random.seed(0)_theano的网络里的参数如何去用

RK3399平台开发系列讲解(内核入门篇)1.37、内核栈_rk3399内核-程序员宅基地

文章浏览阅读2.6k次,点赞36次,收藏20次。内核栈_rk3399内核

实践总结:一篇搞懂链表——单链表和双指针技巧-程序员宅基地

文章浏览阅读3k次,点赞62次,收藏70次。单链表、双链表、双指针、快慢指针

oracle冷备份示例_oracle数据库冷备份例子-程序员宅基地

文章浏览阅读8.1k次。Oracle的冷备份1、 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完 整的数据库。冷备份是将关键性文件拷贝到另外位置的一种做法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。值得注意的是冷备份必须是数据库关闭的情况下完成,当数据库开着的时候,执行数据库文件系统备份无效。2、冷备份所需备份的文件包括以下几种:l 所有数据文件_oracle数据库冷备份例子

OpenAI 再发大招: ChatGPT 推出插件功能,能联网获取新知识,可与 5000+ 个应用交互...-程序员宅基地

文章浏览阅读905次。公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !​OpenAI宣布已经在 ChatGPT 中实现了对插件的初步支持。插件 (Plugins) 是专门为语言模型设计的工具,以安全为核心原则,可帮助 ChatGPT 访问最新信息、运行计算或使用第三方服务。这就意味着第三方开发商能够为 ChatGPT 开发插件,以将自己的服务集成到 ChatGPT 的对话窗口中。从演..._人工智能openai 浏览器插件

随便推点

协同进化算法在多目标优化中的应用_协同进化交叉变异交换反转-程序员宅基地

文章浏览阅读613次,点赞26次,收藏15次。协同进化算法在多目标优化中的应用1. 背景介绍多目标优化问题是一类非常重要的优化问题。在实际应用中,我们常常需要同时优化多个相互冲突的目标函数,如成本、效率、可靠性等。传统的优化算法通常只能优化单一目标函数,无法很好地处理多目标优化问题。协同进化算法是一类新兴的多目标优_协同进化交叉变异交换反转

软件测试基础_软件测试(software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性-程序员宅基地

文章浏览阅读229次,点赞3次,收藏2次。软件测试基础一:软件基础1:软件的定义 软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。2:软件的应用场景游戏型测试,电商型测试,金融型软件,嵌入式测试等3:软件架构分类B/S架构软件客户端为游览器:百度,好123C/S架构软件客户端需安装专门软件,如QQ 微信等二、软件测试的定义与原则1:为什么需要软件测试[外链图片转存失败,源站可能有_软件测试(software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性

xp安装mysql5.5.28_Windows XP系统安装MySQL5.5.28图解教程-程序员宅基地

文章浏览阅读110次。mysql数据库的安装一共分为两个部分:数据库的安装和数据库的配置。一、mysql数据库的安装1、双击下载的mysql安装文件,如图所示:2、弹出mysql5.5安装向导对话框,单击next按钮,如图所示:3、打开end-user license agreement对话框,选中i accept the terms in the license agreement复选框,单击next按钮,如图所示:..._typical custom complete

海康摄像头二次开发python_GitHub - 10961020/GB28181: GB28181使用python实现源码 作为上级域对接海康蓝盾平台。包括catalog设备信息,预览设备视频流保...-程序员宅基地

文章浏览阅读1.9k次。GB28181-python公司需求研究了一下GB28181协议对接的2011版国标 2016版国标向下兼容 没有什么大影响使用python实现了此协议,没有具体验证过可以同时预览几路视频流,最多的一次是22路视频流同时预览这个取决与网络的带宽以及部署服务器的内存大小踩过很多坑,完善优化了很多次程序,目前这版至少后台启动两个月正常使用,生成的文件需定时清理否则服务器被写满会导致程序无法进行I/O操..._python模拟gb28181摄像头模拟

解决问题:OSError: mysql_config not found-程序员宅基地

文章浏览阅读1.7k次。通过pip install mysqlclient时报出了OSError: mysql_config not found错误,如图:image.png原因是linux需要mysql相关的一些依赖包yum install mysql-devel gcc gcc-devel python-develimage.png安装完毕后就可以正常pi..._oserror: mysql_config not found

mysql实现分布式锁的缺点_我惊呆了,MySQL居然还能实现分布式锁?-程序员宅基地

文章浏览阅读678次。前言之前的文章中通过电商场景中秒杀的例子和大家分享了单体架构中锁的使用方式,但是现在很多应用系统都是相当庞大的,很多应用系统都是微服务的架构体系,那么在这种跨jvm的场景下,我们又该如何去解决并发。单体应用锁的局限性在进入实战之前简单和大家粗略聊一下互联网系统中的架构演进。在互联网系统发展之初,消耗资源比较小,用户量也比较小,我们只部署一个tomcat应用就可以满足需求。一个tomcat我们可以看..._基于数据库实现分布式锁存在什么问题?

推荐文章

热门文章

相关标签