【阅读笔记】Rapid, Detail-Preserving Image Downscaling

news2025/1/18 3:22:55

Rapid, Detail-Preserving Image Downscaling(快速的图像缩放技术)

该论文提出了一种基于卷积滤波器的算法,并确定滤波器的权值,使重要的细节保留在缩小比例的图像。更具体地说,它为更偏离局部图像邻域的像素分配更大的权重。

从信息论的角度来看,偏离中心像素的邻域的一些像素数据可能携带有价值的信息,也可能是噪声或超出奈奎斯特频率的信息。

根据Beghdadi等人[2013]的研究,人类视觉系统“近似于拉普拉斯边缘检测器和自适应低通滤波”。因此,一定程度的噪点和混叠是可以容忍的,而模糊会导致重要细节的丢失。

Kopf等人[2013]提出了一种基于联合双边滤波器的方法。对于每个输出像素,它们在输入图像中定义一个相应的区域。与纯分割相反,每个输入像素可能对输出像素的数量有加权贡献。

该论文算法首先计算原始图像的平滑、缩小版本作为引导图像。考虑到我们应专注于大图像的下采样尺度,基于box filter快速地完成。然后使用卷积滤波器从输入图像组装最终图像,该滤波器赋予与引导图像所表示的局部邻域不同的像素更多的权重。


算法步骤

前置步骤

1、原图 I I I通过box filter,生成一个 box filterd,downscaled图降采样图 I d Id Id,参数 d d d表示降采样倍数;( I d Id Id形成没有说明,这个是重点)

2、原图 I I I中的像素 p p p Ω I ( p ) \Omega _{I}(p) ΩI(p)表示原图的矩形块像素映射到降采样图 I d Id Id中;

3、暂定 d d d是整数

4、 I d Id Id用卷积公式处理得到 I ~ \tilde{I} I~(模糊图),相当于对 I I I做公式2滤波

这种近似比完全高斯近似快得多(特别是对于大d),并且给出非常相似的结果

5、

注:

1、box filter 与gaussian filter的结果图一些差别,gaussian filter结果图与文中的guidance image差别不大。

2、处理边缘像素,可以扩展

后续步骤

通过联合双边滤波器计算输出图像O。

8bit数据下, V m a x = 3 ∗ 25 5 2 Vmax = \sqrt{3*255^{2}} Vmax=32552 ,将RGB数值归一化。

方程2与常规联合双边滤波器有两大区别:

首先,距离核不减小,而是随着清晰度的增加而增大,即它更倾向于I帽的局部像素邻域的差异

其次,空间核不是高斯函数,是矩形函数, Ω I ( p ) \Omega _{I}(p) ΩI(p)内为1,在其他地方为0

参数讨论

1、 λ \lambda λ参数影响讨论,指数函数内是归一化数据,用 λ \lambda λ求幂,参数小于1增强,大于1减少

2、结果取决于自身像素和 Ω I ( p ) \Omega _{I}(p) ΩI(p)内周围像素,通过 K p Kp Kp连接

3、当 λ = 0 λ= 0 λ=0时,所有像素被统一地(与它们的清晰度无关)赋值为1的范围核,权重 1 / k p = 1 / ( d 2 ) 1/k_{p}=1/(d^{2}) 1/kp=1/(d2),此时本文filter等同box filter。

4、λ= 0.5或者1


觉得本文对您有一点帮助,欢迎讨论、点赞、收藏,您的支持激励我多多创作。

我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

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

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

相关文章

Python多进程加快图片读取速度、多进程下图片的有序读取(mp.Queue)

Python多进程加快图片读取速度(mp.Queue) 多进程,加快图片读取,多进程下图片的有序读取,Python,multiprocessing,multiprocessing.Queue,opencv-python 文章结构 快速使用,多进程读取图片&…

冯诺依曼体系结构以及回答操作系统(是什么,为什么,怎么办)问题

目录 一、硬件冯诺依曼体系结构 二、软件2.1 计算机的层状结构2.2 操作系统的概念2.3 操作系统是什么?2.4 为什么要有操作系统?2.5 操作系统是怎么管理底层的软硬件资源的呢? 一、硬件 冯诺依曼体系结构 我们常见的计算机,如笔记…

HTML+CSS+JavaScript:九九乘法表

一、需求如图 二、思路及代码 1、JavaScript代码 稍微刷过一点算法题的小伙伴就很容易想到这题需要利用双层for循环来实现&#xff0c;思路也是比较简单的&#xff0c;我在这里就直接放代码了 不添加CSS渲染的代码如下 <!DOCTYPE html> <html lang"en"&…

JVM学习笔记(三)垃圾回收

相关文章&#xff1a; JVM中的新生代和老年代&#xff08;Eden空间、两个Survior空间&#xff09;_jvm eden_样young的博客-CSDN博客JAVA命令行工具&#xff08;一&#xff09;--JAVA - 简书JAVA命令行工具&#xff08;二&#xff09;-jps - 简书JAVA命令行工具&#xff08;三&…

AttributeError: module ‘torch.nn‘ has no attribute ‘module‘

import torch import torch.nn as nnclass LinearModel(nn.Module):def _init_(self,ndim):super(LinearModel,self)._init_()self.ndimndimself.weightnn.Parameter(torch.randn(ndim,1))#定义权重self.biasnn.Parameter(torch.randn(1)) #定义偏置def forward(self,x):# y …

【离散数学实验报告】最小生成树的生成

实验四&#xff1a;最小生成树 一、实验目的&#xff1a; 理解最小生成树的画法。提高学生编写实验报告&#xff0c;总结实验结果的能力&#xff0c;培养学生的逻辑思维能力和算法设计思想。能够独立完成简单的算法设计和分析&#xff0c;进一步用他们来解决实际问题&#xf…

谁能成为首个RedCap规模商用的厂商?

RedCap在“降本、小尺寸、低功耗”的呼声中逐渐成为后5G时代的宠儿&#xff0c;随着相关技术的成熟&#xff0c;RedCap如何进一步商用成为行业关注的焦点。RedCap的发展&#xff0c;离不开运营商、芯片厂商、终端厂商、模组厂商等产业关键节点的通力合作。那RedCap离正式商用还…

关于hessian2的一些疑点(0CTF来分析)

目录 前言&#xff1a;csdn很久不用了&#xff0c;打算最近拾起来&#xff0c;主要是监督自己。 非常可疑的点 另一种方法通过JNDI注入来 构造完整的链子 这里&#xff0c;希望佬们解答解答&#xff0c;非常感谢&#xff01;&#xff01;&#xff01; 前言&#xff1a;csdn很…

【C++】开源:cpp-tbox百宝箱组件库

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍cpp-tbox百宝箱组件库。 无专精则不能成&#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;…

ingress之503问题

ingress之503问题 背景&#xff1a; 部署好应用服务(nsyai-test名称空间下)后&#xff0c;通过ingress做七层反代&#xff0c;浏览器访问域名一直出现503的错误&#xff0c;其中30086端口为ingress-controller控制器nodeport型service端口 问题&#xff1a; 网上查看发现是不…

【http-server】http-server的安装、前端使用http-server启动本地dist文件服务:

文章目录 一、http-server 简介:二、安装node.js:[https://nodejs.org/en](https://nodejs.org/en)三、安装http-server:[https://www.npmjs.com/package/http-server](https://www.npmjs.com/package/http-server)四、开启服务&#xff1a;五、http-server参数&#xff1a;【1…

OpenMMLab MMTracking目标跟踪官方文档学习(一)

介绍 MMTracking 是PyTorch的开源视频感知工具箱。它是OpenMMLab项目的一部分。 它支持 4 个视频任务&#xff1a; 视频对象检测 (VID) 单目标跟踪 (SOT) 多目标跟踪 (MOT) 视频实例分割 (VIS) 主要特点 第一个统一视频感知平台 我们是第一个统一多功能视频感知任务的开源工…

自建DNSlog服务器

DNSlog简介 在某些情况下&#xff0c;无法利用漏洞获得回显。但是&#xff0c;如果目标可以发送DNS请求&#xff0c;则可以通过DNS log方式将想获得的数据外带出来。 DNS log常用于以下情况&#xff1a; SQL盲注无回显的命令执行无回显的SSRF 网上公开提供dnslog服务有很多…

windows 搭建ssh服务

1、官网下载安装包&#xff1a;mls-software.com 2、点击安装&#xff08;一直默认即可&#xff09; 3、配置 opensshServer 4、成功登录

云数据库MySQL相关帮助

1.为什么创建数据库后在数据库列表中不显示&#xff1f; 因为列表读取的是information_schema&#xff0c;刚创建的数据库是空库&#xff0c;没有数据写入&#xff0c;不会写入缓存表&#xff0c;所以不会显示&#xff0c;但不影响正常使用&#xff0c;可以直接对新建的数据库进…

2.数据结构面试题--消失的数字

面试题:消失的数字 数组nums包含从0到n的所有整数,但是其中缺了一个,请编写代码找出那个缺失的整数,你有办法O(N)时间内完成吗? 方法1.排序:依次查找 如果下一个数不是上一个数1,那么上一个数字1就是消失的数字 冒泡排序的话时间复杂度是O(n^2) qsort排序的话是O(NlogN) 需…

Python爬虫——urllib_get请求的quote方法和urlencode方法

quote方法&#xff1a; 将字符转换为对应Unicode编码 import urllib.request import urllib.parse# 获取 https://www.baidu.com/s?wd周杰伦 网页源码 url "https://www.baidu.com/s?wd" headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKi…

stm32 报错 dev_target_not_halted

烧录stm32H743&#xff0c;在cubeprogrammer里面点击connect&#xff0c;报错dev_target_not_halted 解决方法&#xff1a;先把H743的boot0引脚接到高电平上&#xff0c;然后少上电&#xff0c;此时会停止内核的运行&#xff0c;再点击connect即可 H743管脚&#xff1a; 在芯…

windows系统 安装 InfluxDB

一、InfluxDB下载 InfluxDB的windows&#xff08;64-bit&#xff09;下载地址为&#xff1a;https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7_windows_amd64.zip 二、安装 influxDB是不需要安装的&#xff0c;只需要将压缩文件解压到相应的目录即可&#xff1b;…

STM32CubeMX+Eclipse+gcc+Jlink 实现STM32开发环境搭建

本节记录通过STM32CubeMXEclipsegccJlink 进行STM32环境搭建的过程&#xff1b; 文章目录 一、环境确认二、Eclipse建立工程三、指定编译路径四、选择gcc路径五、选择make路径六、 选择Device 参考&#xff1a; https://blog.csdn.net/qq_35787848/article/details/124395509 h…