利用傅里叶变换公式理解camera raw中的纹理和清晰度的概念(可惜的是camera raw的计算公式应该不会是这个傅里叶变换,只能说类似于这里的效果)

知乎说:在Adobe官方的解释中,就像图片可以分解成彩色通道(如:红绿蓝通道),同样的,图片也可以分解成不同的频率,一张图片可以是由高频,中频和低频组成,例如,锐化的原理就是图片的一种高频控制,而纹理,则是对图片的中频控制。

这句话是真的吗?

锐化我是知道的,图像边缘是空间域中最接近的部分的灰度级的突变,原因之前解释过了,相邻像素点的位置(x,y)改变的时候,把(x,y)用二进制看,那么x和y的高位部分不变,取逆之后是控制频率位置(u,v)的低位不分不变,即是控制在频率值累加的过程中,低频函数值的正负号不变,而高频函数值的正负号改变。

现在这里说纹理提升的意思是中频部分的函数值增大了,如何理解?

首先还是需要把空间域的位置(x,y)二进制的位数分成三个区域,低位区域,中间位区域,高位区域。空间域的高位对应频率域的低位,对应的是清晰度。当把清晰度提高的时候,也就是增大了频率域低位的值ai,而在我的公式中(这只是一维公式,只是做直观的理解),

fj=\sum_{i=0}^{N-1}\delta (fj,ai)*ai*e^{\theta_{i} },ai只是向量的模,肯定是有影响,但是影响多大呢?而且问题是对于灰度级fj的值是增大还是减少呢?其实不清楚。不管这些,可以知道的是在空间域中,影响的值是空间域的高位的像素值,可能变大也可能变小。如果把图像按照中心点分成四个部分,那岂不是只影响第四部分的值了?这感觉不均匀,理解不像是正确的。

如果只是改变二进制位的最高位一个值,确实是这样的。但是如果改变的是高位的区域呢?四部分的划分方式是最高位和低位的划分,但是其实还有次高位的划分,在第一部分中其实还是有次高位的,所以,如果把清晰度的调整理解为是高位区域有多个位数的话,那么提高清晰度的操作,对图像的区域影响是比较均匀的。

现在把图像中的高位区域理解为图像按照大块的方式的分割区域,毕竟二进制区域本来就是一种分割方式,所以清晰度调整的是大块相间的间隔区域中的灰度级,效果可能是同时改变高位区域中的某一位的符号。但是这些分析暂且还没有用。

我之前写过\theta_{i}的计算方式:

计算输入的ai在复平面的转动角度\theta_{i},即是ai*e^{\theta_{i} }。假设N恰好是2次方幂,设长度为m=\log_{2} N。假设下标i的二进制数为x1x2....xm。

\theta_{i} =\sum_{j=1}^{m}(2\pi/2^{j})*xj,当xj=1,是累加进去的,xj=0就没有加。

不管i的二进制位的某个数值是不是0,可以知道的是相位角的大小的影响方式是从频率位置i的低位到高位,低位影响大,高位影响小,所以,空间域的高位区域,对应频率域的低频区域的时候,可以知道的是频率域的低位区域的ai改变,对像相应的空间域的像素值的影响最明显,因为低频区域对相位角旋转方向影响最大。

总结理解清晰度。

所以调整清晰度为负值,这些区域很容易变平缓,而且是最大块的间隔模糊方式。调整清晰度为正值,这些区域很容易增大或减少灰度值,且由于是同时改变符号,其实不改变符号,我写错了,我的本意是同一块内的这些ai的值同时变大或者变小,那就是最大块的间隔区域趋于变暗或者变亮,次大块的间隔区域区域变亮或者变暗(变化趋势和最大块的相反),再次大块的间隔区域区域变暗或者变亮(变化趋势和次大块的相反),所以如果次大块在最大块之内,那么会部分抵消,但是相位角由频率域低位控制,对应空间域高位,所以总体上是最大块的影响程度高(这种总体上我只能说是大致上,实际上不一定,fj要为实数,ai必须是复数,所以具体计算还跟前n个大块的ai有关,也跟符号有关,我只能说一般的情况是由于符号在交变的,所以总体上利于最大块,不利于次大块),前提是这些ai的变化的值是一样的。

同理理解锐化。

所以调整锐化变为负值,最小块的间隔区域最难变平缓,而且是最小块的间隔模糊方式,调整锐化为正值,这些区域最难增大或减少灰度值,且由于是同时改变符号,那就是最小块的间隔区域同时变暗或者变亮。

同理理解纹理。

所以调整纹理变为负值,中等大小块的间隔区域比较容易平缓,而且是最小块的间隔模糊方式,调整纹理为正值,这些区域比较容易增大或减少灰度值,且由于是同时改变符号,那就是中等大小块的间隔区域同时变暗或者变亮。

(注意,这里的图像的二进制位置不是比特位,比特位是图像的灰度级,二进制位置是图像的大小,一个宽度为1024像素的图像有10位,平均低中高位区域为平均至少3个位置吧,在图像中这样的低位区域大约有1024/2+1024/4+1024/8个(没有考虑重合部分),中位区域大约为1024/16+1024/32+1024/64+1024/128个,高位区域大约有1024/256+1024/512+1024/1024个,比较均匀分布,我这里还没考虑图像的高度,但是道理是一样的,考虑了图像高度数量会更大。就模糊效果而言,模糊跟位置数量有关,低位区域的模糊效果是最好的,因为位置最多。)

这里面,我需要说明一下,我为什么要重视旋转角度大的二进制位,而忽视旋转角度小的二进制位呢?其实没道理,因为按照向量的加法,影响方向的主要因素是向量的方向和模。但是问题是这里的方向旋转角度是等比数列,而且符号是交替的,这意味着i的比特位越高,那么旋转的角度偏移越小,并且方向一直在交替,所以这个特征就有了区别,频率域位置的二进制位从小到大排列是旋转角度从小到大排列的,具体也可以计算向量加法的模和方向,我这里就不算了。总之就是旋转角度大的二进制位的ai改变的对fj影响大于旋转角度小的二进制位的ai的改变对fj的数值影响。

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

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

相关文章

VALSE 2024年度进展评述内容分享-视觉基础大模型的进展

2024年视觉与学习青年学者研讨会(VALSE 2024)于5月5日到7日在重庆悦来国际会议中心举行。本公众号将全方位地对会议的热点进行报道,方便广大读者跟踪和了解人工智能的前沿理论和技术。欢迎广大读者对文章进行关注、阅读和转发。文章是对报告人…

docker安装redis命令及运行

docker安装redis: docker run -d -p 6379:6379 --name redis redis:latest -d: 以 守护进程模式 运行容器,容器启动后会进入后台运行,并脱离当前命令行会话。 -p: 显示端口号。 -p 6379:6379: 将容器内部的 6379 端口映射到宿主机 6379 端…

Redis学习3——Redis应用之缓存

引言 缓存的意义 Redis作为一个NoSql数据库,被广泛的当作缓存数据库使用,所谓缓存,就是数据交换的缓冲区。使用缓存的具体原因有: 缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘&a…

实现拖拽功能的实战示例

以下是一个简单的用JavaScript实现拖拽功能的示例&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html> <head><title>拖拽示例</title><style>#draggable {width: 100px;height: 100px;background-color: red;position: absolute…

2024年第十三届工程与创新材料国际会议(ICEIM 2024)即将召开!

2024年第十三届工程与创新材料国际会议&#xff08;ICEIM 2024&#xff09;将于2024年9月6-8日在日本东京举行。ICEIM 2024由东京电机大学主办&#xff0c;会议旨在材料科学与工程、材料特性、测量方法和应用等相关领域进行学术交流与合作&#xff0c;在材料的微观世界里&#…

APP产品中如何引入PGC?

这是一篇10年前的文章&#xff0c;但我觉得即便过去这么久了&#xff0c;文章内的方法还是具有普适性的。刊发在此&#xff0c;希望能对读者有所帮助。 问题&#xff1a;社区里怎么引入一些专业的意见领袖&#xff0c;并让这些领袖每天发布专业性的内容&#xff0c;吸引普通的…

npm install 及使用cordova打包常见错误大全(附解决方案)

问题1、cb() 这是我们在install过程中最最常见问题&#xff0c;网络上的解决方式也都是大同小异&#xff0c;要么就是升级node(误人子弟)&#xff0c;项目里的node是不可以随意升级的&#xff0c;它有可能会导致其他依赖又不适配&#xff0c;起始很多时候就是由于咱们配置的镜像…

【docker】常用的Docker编排和调度平台

常用的Docker编排和调度平台 Kubernetes (K8s): Kubernetes是目前市场上最流行和功能最全面的容器编排和调度平台。它由Google开发并开源&#xff0c;现由CNCF&#xff08;云原生计算基金会&#xff09;维护。Kubernetes设计用于自动化容器部署、扩展和管理&#xff0c;支持跨…

v-for中的key是什么作用

在使用v-for进行列表渲染时&#xff0c;我们通常会给元素或者组件绑定一个key属性。 这个key属性有什么作用呢?我们先来看一下官方的解释&#xff1a; key属性主要用在Vue的虚拟DOM算法&#xff0c;在新Inodes对比时辨识VNodes&#xff1b; 如果不使用key&#xff0c;Vue会使用…

计算机系列之信息安全技术

15、信息安全技术 1、信息安全和信息系统安全 信息安全系统的体系架构 X轴是“安全机制”&#xff0c;为提供某些安全服务&#xff0c;利用各种安全技 术和技巧&#xff0c;所形成的一个较为完善的机构体系。 Y轴是“OSI网络参考模型”。 Z轴是“安全服务”。就是从网络中的各…

uniapp引入vant组件库

在 UniApp 中引入 Vant 组件库的完整步骤通常如下&#xff1a; 安装 Vant&#xff1a; 首先&#xff0c;你需要通过 npm 或 yarn 安装 Vant。打开项目的根目录&#xff0c;然后在命令行中执行以下命令&#xff1a; 使用 npm&#xff1a; npm install vant 或者使用 yarn&…

Spring框架学习笔记(一):Spring基本介绍(包含容器底层结构)

1 官方资料 1.1 官网 https://spring.io/ 1.2 进入 Spring5 下拉 projects, 进入 Spring Framework 进入 Spring5 的 github 1.3 在maven项目中导入依赖 <dependencies><!--加入spring开发的基本包--><dependency><groupId>org.springframework<…

深入探讨SOCKS5代理:安全、隐私与技术实现

在当今的数字化世界中&#xff0c;网络安全和隐私已成为热门话题。企业和个人都在寻求更安全的方式来保护其数据和通信。在众多解决方案中&#xff0c;SOCKS5代理因其独特的功能和强大的灵活性而脱颖而出。本文将深入探讨SOCKS5代理的工作原理&#xff0c;其与HTTP代理的区别&a…

【软考】模拟考卷错题本2024-05-05

1 算法 关键词&#xff1a;按照单位重量价值大优先&#xff0c;那就是1、2、3即430&#xff1b;之后的根据排除法又可以得到630&#xff1b;故C。 2 UML 序列图 上图已经基本上有解析&#xff1b;重点在于在四个选项中选正确的。根据概念排除&#xff1a;异步和同步是不一样的&…

Tomact安装配置及使用(超详细)

文章目录 web相关知识概述web简介(了解)软件架构模式(掌握)BS&#xff1a;browser server 浏览器服务器CS&#xff1a;client server 客户端服务器 B/S和C/S通信模式特点(重要)web资源(理解)资源分类 URL请求路径(理解)作用介绍格式浏览器通过url访问服务器的过程 服务器(掌握)…

Linux less命令翻页快捷键

less 是linux快速浏览文件的命令(防止 误修改文件) less主要就是 浏览文件 查找文件 浏览文件涉及到的就是上下翻页 具体翻页的按键如下表 less向上翻页向下翻页一页b (back)空格半页u (undo)d (down)一行y (...)回车

设计模式——代理模式(Proxy)

代理模式&#xff08;Proxy Pattern&#xff09;是程序设计中的一种设计模式&#xff0c;其核心概念是为一个对象提供一个代理&#xff0c;以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;此时可以通过一个代理对象来实…

Typecho文章采集器火车头插件

目前市面上基本没有typecho火车头采集器 而分享的这一款采集器 内置使用方法与教程&#xff01;

基于大语言模型多智体的综述:进步和挑战!

源自&#xff1a; 人工智能前沿讲习 “人工智能技术与咨询” 发布 声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨&#xff0c;并不意味着支持其观点或证实其内容的真实性。版权归原作者所有&#xff0c;如转载稿涉及版权等问题&#xff0c;请立即…

Python高级编程-DJango2

Python高级编程-DJango2 没有清醒的头脑&#xff0c;再快的脚步也会走歪&#xff1b;没有谨慎的步伐&#xff0c;再平的道路也会跌倒。 目录 Python高级编程-DJango2 1.显示基本网页 2.输入框的形式&#xff1a; 1&#xff09;文本输入框 2&#xff09;单选框 3&#xff…