ISP算法——UVNR

news/2024/7/21 4:59:19 标签: 算法, isp, 图像处理
isplay: none;">

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.niftyadmin.cn/n/5167915.html

相关文章

React【axios、全局处理、 antd UI库、更改主题、使用css module的情况下修改第三方库的样式、支持sass less】(十三)

文件目录 Proxying in Development http-proxy-middleware fetch_get fetch 是否成功 axios 全局处理 antd UI库 更改主题 使用css module的情况下修改第三方库的样式 支持sass & less Proxying in Development 在开发模式下,如果客户端所在服务器跟后…

浅谈Elasticsearch性能优化和调优

Elasticsearch 性能优化与调优技巧 Elasticsearch 是一个分布式搜索引擎,它提供了全文搜索、结构化搜索、分析等功能。在实际应用中,性能优化和调优是关键的挑战。本文将详细讲解 Elasticsearch 的性能优化和调优技巧,包括硬件配置、内存管理…

【C#】Mapster对象映射的使用

系列文章 【C#】编号生成器(定义单号规则、固定字符、流水号、业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:h…

NIO 笔记(二)Netty框架专题

【笔记来自:it白马】 Netty框架 前面我们学习了Java为我们提供的NIO框架,提供使用NIO提供的三大组件,我们就可以编写更加高性能的客户端/服务端网络程序了,甚至还可以自行规定一种通信协议进行通信。 NIO框架存在的问题 但是之…

「Verilog学习笔记」4位数值比较器电路

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 这里要注意题目的“门级描述方式”,所以我们只能使用基本门电路:&,|,!,^,^~。 具体实现思路:通过真值表得出Y0 Y1 Y2的逻辑表达…

SUB-1G芯片---PAN3031低功耗远距离无线收发芯片

PAN3031 是一款采用 ChirpIoT TM 调制解调技术的低功耗远距离无线收发芯片,支持半双工无线通信,工作频段为 370~590 MHz 和 740~1180MHz,该芯片具有高抗干扰性、高灵敏度、低功耗和超远传输距离等特性。最高具有-129dBm 的灵敏度,…

【JVM】类加载器 Bootstrap、Extension、Application、User Define 以及 双亲委派

以下环境为 jdk1.8 两大类 分类成员语言继承关系引导类加载器bootstrap 引导类加载器C/C无自定义类加载器extension 拓展类加载器、application 系统/应用类加载器、user define 用户自定义类加载器Java继承于 java.lang.ClassLoader 四小类 Bootstrap 引导类加载器 负责加…

opencv 任意两点切割图像

目录 opencv python直线切割图像,把图像分为两个多边形 升级版,把多边形分割抠图出来,取最小外接矩形: