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.mzph.cn/news/140533.shtml

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

相关文章

C/S架构学习之基于TCP的本地通信(客户机)

基于TCP的本地通信(客户机):创建流程:一、创建字节流式套接字(socket函数): int sock_fd socket(AF_LOCAL,SOCK_STREAM,0);二、创建客户机和服务器的本地网络信息结构体并填充客户机和服务器本…

Rust写的爬虫代码抓取精美的图片

Rust是一种系统级编程语言,它的设计目标是安全、并发和高效。Rust的爬虫库非常丰富,例如scraper、select、reqwest等等。这些库提供了许多功能,例如HTML解析、HTTP请求、异步处理等等,使得Rust成为一个非常适合编写爬虫的语言。 以…

Outlook如何删除邮箱账户

Outlook如何删除邮箱账户 说明: 最近有用户询问到“我的Outlook登陆了很多个邮箱账号,不知道怎么退出”接下来将具体操作步骤加以说明 操作指引: 1、首先打开Outlook该软件,然后点击“文件” 2、点击账户设置下拉菜单 3、在下拉…

windows HOOK学习(一)

了解HOOK 一:HOOK是什么?二:HOOK的分类三:HOOK的原理?四:为什么全局钩子HOOK必须写到DLL中?五:HOOK的类型 一:HOOK是什么? hook就是我们平时听到的钩子&…

【ATTCK】MITRE和CISA共同推出OT攻击模拟平台

一、MITRE和CISA共同推出OT攻击模拟平台 MITRE公司和美国网络安全和基础设施安全局(CISA)近日发布Caldera for OT,该平台可模拟针对工业操作系统(OT)的攻击。CALDERA是一套开源自动化攻击模拟平台,应用于MI…

ubuntu下迁移home目录至新的分区教程详解

ubuntu下迁移home目录至新的分区教程详解 前言 首先声明一下,因为此教程涉及到用户重要资料数据,所以操作前: 数据无价,请一定要先备份!数据无价,请一定要先备份!数据无价,请一定…

PCA(主成分分析)数据降维技术代码详解

引言 随着大数据时代的到来,我们经常会面临处理高维数据的问题。高维数据不仅增加了计算复杂度,还可能引发“维度灾难”。为了解决这一问题,我们需要对数据进行降维处理,即在不损失太多信息的前提下,将数据从高维空间…

NFTScan | 11.06~11.12 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2023.11.06~ 2023.11.12 NFT Hot News 01/ 《辛普森一家》提及 NFT 及区块链,相关 NFT 地板价涨至 0.35 ETH 11 月 6 日,据 Coindesk 报道,美国时间周…

thinkphp8 数据库的连接

账号:root 密码:自己设置 http://localhost:888/index.php当出现这个并且能登陆就算成功了。 回到项目config/database.php .env 里面(如果已经.example.env 改成了.env,则改下边,db_name改成你的数据库表名) 多个…

HTTP服务器——tomcat的安装和使用

文章目录 前言下载tomcattomcat 文件bin 文件夹conf 文件lib 文件log 文件temp 文件webapps 文件work 目录 如何使用 tomcat 前言 前面我们已经学习了应用层协议 HTTP 协议和 HTTP 的改进版——HTTPS,这些协议是我们在写与服务器相关的代码的时候息息相关的&#x…

监控视频片段合并完整视频|FFmpeg将多个视频片段拼接完整视频|PHP自动批量拼接合并视频

关于环境配置ffmpeg安装使用的看之前文章 哔哩哔哩缓存转码|FFmpeg将m4s文件转为mp4|PHP自动批量转码B站视频 <?php date_default_timezone_set("PRC"); header("Content-type: text/html; charsetutf-8"); set_time_limit(0);// 遍历获取文件 functi…

微服务面试题

微服务面试题 文章目录 微服务面试题微服务微服务面试题 微服务 微服务是一种软件开发的方法&#xff0c;它将一个大型的应用程序分解为多个小型的、独立的服务&#xff0c;每个服务都有自己的功能、技术栈和数据库。微服务之间通过网络协议&#xff08;如 HTTP、消息队列等&a…

STM32两轮平衡小车原理详解(开源)

一、引言 关于STM32两轮平衡车的设计&#xff0c;我想在读者阅读本文之前应该已经有所了解&#xff0c;所以本文的重点是代码的分享和分析。至于具体的原理&#xff0c;我觉得读者不必阅读长篇大论的文章&#xff0c;只需按照本文分享的代码自己亲手制作一辆平衡车&#xff0c…

响应式摄影科技传媒网站模板源码带后台

模板信息&#xff1a; 模板编号&#xff1a;540 模板编码&#xff1a;UTF8 模板颜色&#xff1a;黑白 模板分类&#xff1a;摄像、婚庆、家政、保洁 适合行业&#xff1a; 模板介绍&#xff1a; 本模板自带eyoucms内核&#xff0c;无需再下载eyou系统&#xff0c;原创设计、手…

[WSL] 安装hive3.1.2成功后, 使用datagrip连接失败

org.apache.hadoop.ipc.RemoteException:User: xxx is not allowed to impersonate anonymous 下载driver-hive-jdbc-3.1.2-standalone 解决 修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项 <property><name>hadoop.proxyuser.你的用户名.hosts…

跨越编程界限:C++到JavaSE的平滑过渡

JDK安装 安装JDK 配置环境变量&#xff1a; Path 内添加 C:\Program Files\Java\jdk1.8.0_201\bin 添加 JAVA_HOME C:\Program Files\Java\jdk1.8.0_201 添加 CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 第一个Java程序 HelloWorld.java public class…

Linux之gdb

gdb就是一个Linux的调试工具&#xff0c;类似与vs里面的调试 可执行程序也有格式&#xff0c;不是简单的二进制堆砌

软件测试 | 测试用例编写思路

文章目录 用例编写 用例编写 用例名称&#xff1a;【版本号】页面-页面&#xff0c;功能校验所属模块&#xff1a;2023年/一季度/版本号前置条件&#xff1a; 用户登录管理后台依次点击菜单&#xff1a;仓库管理—员工管理 步骤描述&#xff1a; 点击 [] 按钮 1.1.1 1.2.2 点…

Excel函数-将A1中的字符串剔除B1中的字符串

比如A2中是类型单位&#xff0c;B2中是单位&#xff0c;在C2中体现A2-B2的结果&#xff0c;即大米 公式&#xff1a;SUBSTITUTE(A2,B2,“”) SUBSTITUTE函数功能&#xff1a;将字符串中的部分字符用新字符替换&#xff0c;替换序号忽略说明进行全部替换 结构&#xff1a;SUB…

Android unable to find valid certification path to requested target

Android Studio 无法联网解决方法 在开发 Android 应用时&#xff0c;经常需要使用 Android Studio 进行开发和调试。然而&#xff0c;有时候我们可能会遇到 Android Studio 无法联网的问题&#xff0c;这会导致无法下载依赖库、更新 SDK 等操作。在本文中&#xff0c;我将向你…