ISP算法——UVNR

ISP算法——UVNR

概念简介

UVNR也就是经过CSC只有在YUV域对UV两个色域进行降噪,在有些方案里也叫CNR(chroma noise reduction)。主要就是在YUV域针对彩燥进行特殊处理的一系列算法。

关于噪声产生的原因在前面关于降噪的文章和视频中已经做了描述和讲解,这里就不做更多的解释,关于彩噪产生的原因,可以通过一个简单的方式来理解,就是如果一个灰色的画面,原本R,G,B三个通道的值应该是一样的(理论白平衡之后),但是由于前面提到过的噪声因素会导致三个通道的pixel value发生变化,且三个通道变化是随机的,那么三个通道各自偏差就不确定,那么经过插值处理后原本应该一样的三个通道就会出现偏差,也就出现了各种颜色,也就导致的彩燥的出现,然后经过pipeline各个阶段的gain的加持就会更显著。

也可以参考这篇论文的解释(看的时候随手截图的,忘记论文名了):

算法讲解

降噪算是图像处理一个很大的方向,所以这一块的算法很多,没法一一介绍,针对彩噪其实也就是将基本的降噪或者灰度图像降噪的方法进行调整后适配这个应用。这里就直接通过几个专利介绍几个相关算法。

CHROMA NOISE REDUCTION FOR CAMERAS

专利信息

该专利可以参考如下图片信息,这是苹果公司2009的一份专利。

专利算法

Snipaste_2023-11-10_11-10-24

算法主要思路如上图,就是再YUV域对Cr和Cb通道分别进行处理。比如针对Cb,在一个滤波窗口中,中心点的像素值就通过周围点的值的加权平均值来计算得到。权重的计算也很简单,就是判断该点和窗口中心的Cr,Cb插值的和是否大于阈值,如果大于阈值就认为是边缘,那么就不参与平均,权重设置为0,如果小于阈值就参与计算,权重就设置为1。

IMAGE CHROMA NOISE REDUCTION

专利信息

该专利是ST公司2012年的一份专利

Snipaste_2023-11-10_11-35-38

专利算法

首先计算出窗口中各个通道的分布范围:

根据分布范围求出一个滤波强度系数:

针对Cr和Cb进行加权平均降噪:

权重计算方式是通过亮度知道色度,然后通过高斯分布的方式计算,差别越大越不相似,权重就越小。

最后通过将原始图像和去噪后的图像进行blending得到最终的图像,系数由局部动态范围决定。

REMOVING CHROMA NOISE FROM DIGITAL IMAGES BY USIING VARIABLE SHAPE PIXEL NEIGHBORHOOD REGIONS

专利信息

该专利是柯达公司1999年的一份专利

专利算法

直接参考当时的笔记吧。具体的讲解可以参考B站的视频讲解。

image-20231110115434290

相关代码

请参考相关链接中Gitee链接的Gitee仓库

相关链接

  • zhihu: ISP图像处理 - 知乎 (zhihu.com)
  • CSDN:ISP图像处理_wtzhu_13的博客-CSDN博客
  • Bilibili:食鱼者的个人空间_哔哩哔哩_Bilibili
  • Gitee:ISPAlgorithmStudy: ISP算法学习汇总,主要是论文总结 (gitee.com)

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

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

相关文章

【电子通识】USB端口颜色编码标识

不知道你有没有发现 USB 口有不同的颜色,黑色、蓝色、紫色、红色、黄色等等,你知道不同颜色的 USB 口各代表什么意思吗? 这些颜色不是USB规范所要求的,设备制造商之间也不一致。例如,Intel使用橙色表示充电端口&#…

51单片机+DS1302设计一个电子钟(LCD1602显示时间)

一、前言 电子钟是一种能够准确显示时间的设备,广泛应用于家庭、办公场所和公共场所,为人们提供了方便和准确的时间信息。本项目设计一个基于51单片机的电子钟,使用DS1302作为RTC时钟芯片,LCD1602作为显示屏,并通过串…

基于FPGA的PS端的Si5340的控制

1、功能 Si5340/41-D可以输出任意频率,当然有范围,100Hz1GHz。外部输入为24M或者4854M的XTAL,VCO在13500~14256Mhz之间,控制接口采用IIC或者SPI。 芯片架构图 2、IIC控制方式 3、直接上控制代码 使用米联客ZU3EG,将…

微信自动添加好友

简要描述: 添加微信好友 请求URL: http://域名地址/addUser 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId…

MySQL中的json使用注意

MySQL中json是一种重要的数据类型 好的点在于其不必事先定义列得名称啥的 不过不要将明显的关系型数据作为json来存储,例如用户余额、姓名、身份证等,这些是用户必须包含的数据 json适合存储的是给每个用户(或者物品)打的标签&…

Linux操作系统使用及C高级编程-D5Linux shell命令(进程管理、用户管理)

进程管理 查看进程ps 其中ps -eif可显示父进程 实时查看进程top 按q退出 树状图显示进程pstree 以父进程,子进程以树状形式展示 发送信号kill kill -l:查看都有哪些信号 9:进程终止 kill不指定信号,默认发送的是15信号SIGT…

加密磁盘密钥设置方案浅析 — LUKS1

虚拟化加密磁盘密钥设置方案浅析 前言元数据分析元数据格式整体格式头部格式加密算法密码校验key slot格式其它字段 流程验证 前言 我们在虚拟化加密磁盘密钥设置方案浅析 — TKS1中介绍了加密磁盘密钥设置方案,TKS1对密钥设置(Linux Unified Key Setup)的流程和方…

软件测试下的AI之路(3)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

Java之SpringCloud Alibaba【九】【Spring Cloud微服务Skywalking】

Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】跳转Java之SpringCloud Alibaba【二】【微服务调用组件Feign】跳转Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】跳转Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】跳转Java之Sprin…

【PG】PostgreSQL 目录结构

目录 1 软件安装目录 2 数据文件目录 base/:存储每个数据库的基本数据文件 global/:包含了全局性质的系统表空间文件 pg_tblspc/:包含了表空间的符号链接 pg_twophase/:包含了两阶段提交中使用的文件 pg_stat_tmp/&#xff…

C# .NET Core API 注入Swagger

C# .NET Core API 注入Swagger 环境 Windows 10Visual Studio 2019(2017就有可以集中发布到publish目录的功能了吧)C#.NET Core 可跨平台发布代码,超级奈斯NuGet 套件管理dll将方法封装(据说可以提高效率,就像是我们用的dll那种感觉)Swagger 让接口可视化编写时间2020-12-09 …

在Linux系统下微调Llama2(MetaAI)大模型教程—Qlora

Llama2是Meta最新开源的语言大模型,训练数据集2万亿token,上下文长度是由Llama的2048扩展到4096,可以理解和生成更长的文本,包括7B、13B和70B三个模型,在各种基准集的测试上表现突出,最重要的是&#xff0c…