当前位置: 首页 > article >正文

JPL 公式由来

目录一、JPL 公式的历史背景二、数学基础三、单系数C^≈Mm/4JPL 原始版1. 数学最优与工程折衷2. 误差分析JPL 当年的验证四、两段式JPL 改进版Mm/8 与 Mm/2五、 变体六、JPL 公式的本质七、可直接用的定点 C 代码JPL 最早提出、工业界沿用至今的经典近似C≈Mm/4​或C≈Mm​/8一、JPL 公式的历史背景时代1960–1970 年代NASA / JPL 做深空探测水手号、维京号硬件没有 FPU、没有硬件开方、没有通用除法只有整数 ALU、移位器、极慢的软件除法需求彩色图像处理RGB → YUV / IQ 后要算色度幅值 C √(U²V²)用于饱和度、自动白平衡、色彩校正、边缘检测必须每像素 1–2 周期、纯整数、无除法 / 开方JPL 为航天器实时图像处理发明了这套极简近似后来成为ISP / 嵌入式 / 计算机视觉工业标准。二、数学基础三、单系数C^≈Mm/4JPL 原始版1. 数学最优与工程折衷前面推导全局 MMSE 最优 k ≈ 0.30JPL 选k1/4​0.25为什么是 1/41数学上极接近最优误差极小最优0.301/4 0.25偏差仅0.05相对误差 2%全角度2工程上唯一完美选择1/4 1 21 次右移即可无浮点、无除法、单周期完成其他值0.3、0.3006都需要乘法 多次移位 舍入复杂、慢、占门数2. 误差分析JPL 当年的验证角度 θ ∈ [0°, 45°]设 Mcosθ,msinθθMmC1Mm/4绝对误差相对误差0°101100%15°0.9660.25911.0650.0656.5%30°0.8660.511.0160.0161.6%45°0.7070.70710.884-0.116-11.6%关键观察0°、30° 附近误差极小45° 误差偏大≈-11.6%→ 所以 JPL 后来加第二段四、两段式JPL 改进版Mm/8 与 Mm/2为压低 45° 误差JPL 用两段固定 k1. 分段规则标准 JPL2. 为什么选k₁1/80.125小角度M≫m最优区间0.10~0.151/8 完美落在中间实现1 3k₂1/20.545° 附近最优0.45~0.501/2 是数学上最优点实现1 1分段点 M4m4 是2 的幂比较只需整数减法 / 移位刚好是误差曲线的拐点3. 两段式误差极大改善表格θM≥4m?近似式估计值真实 C误差0°是Mm/8110%15°否Mm/21.09619.6%30°否Mm/21.11611.6%45°否Mm/21.06016.0%最大误差 ±6%远好于单段人眼完全不可察觉饱和度误差 5% 无感五、 变体很多用M≥3m而非 4m为什么改成 3m3m 比 4m 更 “晚切”覆盖更多小角度用 m/8第二段7/8 M 1/2 m等价C^M−8M​2m​依然纯移位、无除法45° 误差进一步压到 3%六、JPL 公式的本质数学在 M≤C≤Mm 之间用线性组合 M k・m拟合圆最优 k单段≈0.30两段≈0.125、0.5工程只选1/8、1/4、1/2→ 因为只有它们是2 的幂倒数纯移位实现历史JPL 1970 年代为深空探测发明全行业沿用成标准七、可直接用的定点 C 代码// 输入U, Vint16_t // 输出C ≈ √(U²V²)uint16_t uint16_t jpl_chroma(int16_t U, int16_t V) { int16_t a (U 0) ? U : -U; int16_t b (V 0) ? V : -V; int16_t M (a b) ? a : b; int16_t m (a b) ? a : b; int16_t C; if (M (m 2)) { // M 4*m C M (m 3); // M m/8 } else { C M (m 1); // M m/2 } return (uint16_t)C; }

相关文章:

JPL 公式由来

目录 一、JPL 公式的历史背景 二、数学基础 三、单系数:C^≈Mm/4(JPL 原始版) 1. 数学最优与工程折衷 2. 误差分析(JPL 当年的验证) 四、两段式(JPL 改进版):Mm/8 与 Mm/2 五…...

OpenWrt访问控制插件:7步实现家庭网络智能管理终极指南

OpenWrt访问控制插件:7步实现家庭网络智能管理终极指南 【免费下载链接】luci-access-control OpenWrt internet access scheduler 项目地址: https://gitcode.com/gh_mirrors/lu/luci-access-control 你是否曾为家庭网络管理而烦恼?孩子沉迷网络…...

告别充电焦虑:深度解析IP2326如何实现2S锂电池的智能平衡充电与安全保护

告别充电焦虑:深度解析IP2326如何实现2S锂电池的智能平衡充电与安全保护 在便携式设备和小型机器人设计中,锂电池管理系统(BMS)的性能直接决定了产品的可靠性和用户体验。传统分立式平衡充电方案往往面临电路复杂、体积庞大和调试…...

别再只盯着IC驱动了!手把手教你用三极管和二极管优化MOS管关断速度(附电路图)

低成本优化MOS管关断速度的实战技巧:三极管与二极管组合方案详解 在开关电源和电机驱动设计中,MOSFET的开关速度直接影响系统效率和可靠性。许多工程师习惯依赖专用驱动IC,却忽视了简单外围电路能带来的显著性能提升。本文将揭示IC直接驱动方…...

Blender化学品插件:3步搞定专业分子可视化

Blender化学品插件:3步搞定专业分子可视化 【免费下载链接】blender-chemicals Draws chemicals in Blender using common input formats (smiles, molfiles, cif files, etc.) 项目地址: https://gitcode.com/gh_mirrors/bl/blender-chemicals 还在为科研论…...

1988-2020年中国城乡收入差距演变:基于基尼系数与泰尔指数的多维分析

1. 城乡收入差距的测量工具:基尼系数与泰尔指数 要分析城乡收入差距,首先得了解两个关键指标:基尼系数和泰尔指数。这两个指标就像经济领域的"温度计",能准确测量收入分配的不平等程度。 基尼系数是意大利经济学家基尼在…...

PCB设计避坑指南:POC电感寄生电容的7种优化方法(附Coilcraft实测数据)

PCB设计避坑指南:POC电感寄生电容的7种优化方法(附Coilcraft实测数据) 在高速PCB设计中,POC(Power Over Coax)电路的性能优化一直是工程师面临的挑战。特别是GMSL(Gigabit Multimedia Serial Li…...

跨平台开源音乐播放器LX Music:解锁免费音乐世界的完整使用手册

跨平台开源音乐播放器LX Music:解锁免费音乐世界的完整使用手册 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 你是否厌倦了各大音乐平台的会员限制和广告轰炸&#…...

OpenDroneMap技术架构深度解析:开源无人机测绘处理实战方案

OpenDroneMap技术架构深度解析:开源无人机测绘处理实战方案 【免费下载链接】ODM A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷 项目地址: https://gitcode.com/gh_mirrors/od…...

Python自动化仿真实战:基于MPh的Comsol有限元分析高效工程实践

Python自动化仿真实战:基于MPh的Comsol有限元分析高效工程实践 【免费下载链接】MPh Pythonic scripting interface for Comsol Multiphysics 项目地址: https://gitcode.com/gh_mirrors/mp/MPh 在现代工程仿真和科学研究中,自动化工作流已成为提…...

智算中心建设新范式:GPT-6/Rubin架构+1.6T光模块+量子安全网关+AI安全沙箱,算力·效率·安全·成本的最优平衡

当AI训练进入十万卡集群时代,智算中心不再只是GPU的堆叠,而是一场从芯片、互连、安全到运行底座的系统性工程。引言2026年3月的GTC大会上,黄仁勋一句“AI竞赛已进入白热化,算力效率决定胜负”,将全球AI基础设施建设的战…...

日本,急了 ,AI成立国家队,想要追赶世界一流 -周红伟

进入AI第一梯队,几乎没有可能。文 | 华商韬略 杨彼得日本,终于急了。4月12日,日本科技圈传来重磅消息,软银、NEC、本田、索尼集团宣布联合成立“日本AI基础模型开发公司”。这四家企业,分别是日本通信、IT、汽车与电子…...

iOS 汇编进阶 - arm64 寄存器与栈帧实战解析

1. arm64寄存器全解析与实战应用 在iOS逆向工程和性能优化领域,理解arm64寄存器就像掌握了一把打开底层世界的钥匙。我第一次用Xcode调试汇编代码时,面对满屏的x0-x30完全摸不着头脑,直到搞明白这些寄存器的分工逻辑才豁然开朗。 arm64架构提…...

黑苹果休眠唤醒难题终极解决方案:HibernationFixup驱动深度解析

黑苹果休眠唤醒难题终极解决方案:HibernationFixup驱动深度解析 【免费下载链接】Hackintosh Hackintosh long-term maintenance model EFI and installation tutorial 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintosh 你是否在黑苹果系统上遇到过休…...

复现NeRCo时遇到CUDA显存爆炸?别急着改batchsize,试试这个隐藏的`--preprocess`参数

复现NeRCo时遇到CUDA显存爆炸?别急着改batchsize,试试这个隐藏的--preprocess参数 当你兴奋地准备复现CVPR 2023的NeRCo论文代码时,突然遭遇torch.cuda.OutOfMemoryError这个红色警告,就像一盆冷水浇在头上。你检查了GPU配置——T…...

周红为:让电脑自己打工!微信发句话,自动做PPT、发邮件、爬数据… QClaw彻底解放打工人

还在手动开文件、做表格、发邮件?试试QClaw,一个能用微信远程控制电脑的AI智能体。只需在聊天框发句话,它就能自动打开PPT、编辑图表、运行脚本、收发文件…5000技能全免费,本地运行保护隐私。本文手把手教你5分钟装好&#xff0c…...

打卡信奥刷题(3116)用C++实现信奥题 P7365 [CTSC2002] 颁奖典礼

P7365 [CTSC2002] 颁奖典礼 题目背景 IOI2002 的颁奖典礼将在 YONG-IN Hall 隆重举行。人们在经历了充满梦幻的世界杯之后变得更加富于情趣。为了使颁奖典礼更具魅力,有人建议在 YONG-IN Hall 中搭建一个 I\text{I}I 字型的颁奖台,以此代表信息学 Inform…...

BilibiliDown:B站视频下载与批量管理完整方案

BilibiliDown:B站视频下载与批量管理完整方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibi…...

终极缠论分析神器:ChanlunX助你3分钟掌握专业级技术分析可视化

终极缠论分析神器:ChanlunX助你3分钟掌握专业级技术分析可视化 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾经面对复杂的K线图感到无从下手?是否因为手工绘制缠论笔段而…...

APK Installer:在Windows上轻松管理Android应用的智能助手

APK Installer:在Windows上轻松管理Android应用的智能助手 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK Installer是一款专为Windows系统设计的Andro…...

OpenSign:免费开源电子签名的终极完整解决方案

OpenSign:免费开源电子签名的终极完整解决方案 【免费下载链接】OpenSign 🔥 The free & Open Source DocuSign alternative 项目地址: https://gitcode.com/gh_mirrors/op/OpenSign OpenSign是一个功能强大的免费开源电子签名平台&#xff0…...

如何用ComfyUI_FaceAnalysis精确量化AI生成人脸的相似度

如何用ComfyUI_FaceAnalysis精确量化AI生成人脸的相似度 【免费下载链接】ComfyUI_FaceAnalysis Extension for ComfyUI to evaluate the similarity between two faces 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_FaceAnalysis 你是否曾经困惑于AI生成的人脸…...

开源无人机身份识别解决方案:ArduRemoteID完全指南

开源无人机身份识别解决方案:ArduRemoteID完全指南 【免费下载链接】ArduRemoteID RemoteID support using OpenDroneID 项目地址: https://gitcode.com/gh_mirrors/ar/ArduRemoteID 在无人机监管日益严格的今天,FAA RemoteID合规性已成为全球无人…...

三分钟掌握bilibili-parse:免费高效的B站视频解析终极方案

三分钟掌握bilibili-parse:免费高效的B站视频解析终极方案 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse 你是否曾想保存喜欢的B站视频却苦于找不到合适工具?面对复杂的API接…...

用Matplotlib绘制完美的圆形图表

在数据可视化的领域中,Matplotlib是一个强大的工具,它能够帮助我们生成各种复杂的图表。今天,我们将探讨如何使用Matplotlib来绘制一个完美的圆形图表,并通过实际的例子来展示如何解决常见的绘图问题。 问题描述 假设我们有一组数据,表示一个近似圆形的形状,但当我们用…...

深入浅出:Java中的文件序列化与异常处理

引言 在编写Java程序时,文件的序列化和反序列化是一个常见的操作。然而,当我们在处理文件时,可能会遇到各种异常情况,如文件不存在(FileNotFoundException)或其他IO相关的异常(IOException)。本文将通过一个实际案例来探讨如何正确处理这些异常,以及为什么要使用Java…...

【MaxCompute】从零开发UDF与UDTF:实战指南与性能优化

1. 初识MaxCompute自定义函数 第一次接触MaxCompute自定义函数时,我完全被各种术语搞晕了。UDF、UDTF、UDAF这些缩写看起来就像天书,直到真正动手实践后才明白它们的妙用。简单来说,这些自定义函数就像是给MaxCompute这个大数据处理引擎安装的…...

空气质量指数(AQI)全解析:从PM2.5到健康防护,一篇搞定

空气质量指数(AQI)全解析:从PM2.5到健康防护,一篇搞定 清晨推开窗户,你是否会习惯性查看手机上的空气质量数据?那个跳动的数字和颜色背后,藏着影响呼吸健康的复杂密码。AQI不仅是环境监测的标尺…...

微信小程序代码高效托管:Git仓库上传全流程解析

1. 为什么需要Git管理微信小程序代码 刚开始做微信小程序开发时,我也习惯直接把代码存在本地。直到有次电脑硬盘损坏,半个月的心血瞬间归零,这才意识到版本管理的重要性。Git作为目前最流行的分布式版本控制系统,能完美解决代码备…...

保姆级图解:5分钟搞懂NoC里那些烧脑的拓扑——从蝴蝶网络到胖树,到底是怎么连的?

保姆级图解:5分钟搞懂NoC里那些烧脑的拓扑——从蝴蝶网络到胖树,到底是怎么连的? 想象一下,你正在设计一座未来城市的交通系统。每条街道代表芯片上的一根导线,每个十字路口是一个路由器,而车辆则是传输的数…...