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的一份专利。

专利算法

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

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

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

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

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


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


REMOVING CHROMA NOISE FROM DIGITAL IMAGES BY USIING VARIABLE SHAPE PIXEL NEIGHBORHOOD REGIONS
专利信息
该专利是柯达公司1999年的一份专利

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

相关代码
请参考相关链接中Gitee链接的Gitee仓库
相关链接
- zhihu: ISP图像处理 - 知乎 (zhihu.com)
- CSDN:ISP图像处理_wtzhu_13的博客-CSDN博客
- Bilibili:食鱼者的个人空间_哔哩哔哩_Bilibili
- Gitee:ISPAlgorithmStudy: ISP算法学习汇总,主要是论文总结 (gitee.com)
相关文章:
ISP算法——UVNR
ISP算法——UVNR 概念简介 UVNR也就是经过CSC只有在YUV域对UV两个色域进行降噪,在有些方案里也叫CNR(chroma noise reduction)。主要就是在YUV域针对彩燥进行特殊处理的一系列算法。 关于噪声产生的原因在前面关于降噪的文章和视频中已经做…...
双十一“静悄悄”?VR购物拉满沉浸式购物体验
以往每年的双十一,都会因为电商购物狂欢而变得热闹非凡,而各大电商平台也会在这天推出各种促销活动。但是,近几年来,双十一正在变得“静悄悄”。一个原因是消费群体越发理性消费,更加重视商品本身的质量和体验…...
(动手学习深度学习)第13章 计算机视觉---图像增广与微调
13.1 图像增广 总结 数据增广通过变形数据来获取多样性从而使得模型泛化性能更好常见图片增广包裹翻转、切割、变色。 图像增广代码实现...
Linux安装MySQL8.0服务
Linux安装MySQL8.0服务 文章目录 Linux安装MySQL8.0服务一、卸载1.1 查看mariadb1.2 卸载 二、安装2.1 下载2.2 上传2.3 解压2.4 重命名2.5 删除2.6 创建目录2.7 环境变量2.8 修改配置2.9 配置文件2.9 用户与用户组2.10 初始化2.11 其它 三、开启远程连接MySQL 一、卸载 首先第…...
地区 IP 库
地区 & IP 库 yudao-spring-boot-starter-biz-ip (opens new window)业务组件,提供地区 & IP 库的封装。 #1. 地区 AreaUtils (opens new window)是地区工具类,可以查询中国的省、市、区县,也可以查询国外的国家。 它的数据来自 …...
MySQL查询语句练习题,测试基本够用了
1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE TA…...
删除word最后一页之后的空白页
最近编辑word比较多,有时最后一页(最后一页内容还有可能是表格)之后,还有一页空白页,单独按下backspace、del都删不掉,很让人着急。 经过查询有几种方法: (1)点击选中空…...
基于站点、模式、遥感多源降水数据融合实践技术应用
降水在水循环中发挥着重要作用,塑造了生态景观和生态系统。目前,有四种主要方式获取降水数据:1)雨量计观测,2)地基雷达遥感,3)卫星遥感,4)模式模拟。基于雨量…...
html与django实现多级数据联动
html与django实现多级数据联动 1、流程 1、进入页面后先获取年级数据 2、选择年级后获取院级数据 3、选择院级后获取层次数据 4、选择层次数据后获取专业数据 2、html代码 <p style"margin-top: 10px;"><label>年级</label><select id"…...
网络安全-黑客技术-小白学习
1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…...
.NET关于 跳过SSL中遇到的问题
一、事件的起因: 起因:开发项目过程中,可能会遇到 调用其他系统的接口 以及 代码中历史开发人员留下的IP接口访问等问题,后面该项目由自己负责,其他系统全部迁移到容器里面,只提供域名去访问。 问题:访问已迁移到容器其他系统,那么用IP地址访问肯定无法调用成功,只能用…...
fpga时序相关概念与理解
一、基本概念理解 对于数字系统而言,建立时间(setup time)和保持时间(hold time)是数字电路时序的基础。数字电路系统的稳定性,基本取决于时序是否满足建立时间和保持时间。 建立时间Tsu:触发器…...
安卓常见设计模式12------观察者模式(Kotlin版、Livedata、Flow)
1. W1 是什么,什么是观察者模式? 观察者模式(Observer Pattern)是一种行为型设计模式,用于实现组件间的松耦合通信。主要对象有观察者接口(Observer)和可观察对象(Observable&…...
USB偏好设置-Android13
USB偏好设置 1、USB偏好设置界面和入口2、USB功能设置2.1 USB功能对应模式2.2 点击设置2.3 广播监听刷新 3、日志开关3.1 Evet日志3.2 代码中日志开关3.3 关键日志 4、异常 1、USB偏好设置界面和入口 设置》已连接的设备》USB packages/apps/Settings/src/com/android/setting…...
Ubuntu 22.04 (WSL) 安装 libssl1.1
废话不多说!!! 步骤一: echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list 步骤二: sudo apt-get update 步骤三:…...
数据结构-图的课后习题(2)
题目要求: 对于下面的这个无向网,给出: 1.“深度优先搜索序列”(从V1开始) 2.“广度优先序列”(从V1开始) 3.“用Prim算法求最小生成树” 代码实现: 1.深度优先搜索:…...
[Machine Learning] 多任务学习
文章目录 基于参数的MTL模型 (Parameter-based MTL Models)基于特征的MTL模型 (Feature-based MTL Models)基于特征的MTL模型 I:基于特征的MTL模型 II: 基于特征和参数的MTL模型 (Feature- and Parameter-based MTL Models) 多任务学习 (Multi-task Lear…...
【C语言从入门到放弃 6】递归,强制类型转换,可变参数和错误处理详解
C语言是一种功能强大的编程语言,具有许多高级特性,包括强制类型转换,递归,可变参数和错误处理。在本文中,我们将深入了解这些特性,并提供简单的示例来帮助理解。 递归 递归是一种函数调用自身的技术&…...
使用LLama和ChatGPT为多聊天后端构建微服务
微服务架构便于创建边界明确定义的灵活独立服务。这种可扩展的方法使开发人员能够在不影响整个应用程序的情况下单独维护和完善服务。然而,若要充分发挥微服务架构的潜力、特别是针对基于人工智能的聊天应用程序,需要与最新的大语言模型(LLM&…...
CSS3 用户界面、图片、按钮
一、CSS3用户界面: 在CSS3中,增加了一些新的用户界面特性来调整元素尺寸、框尺寸和外边框。CSS3用户界面属性:resize、box-sizing、outline-offset。 1、resize: resize属性指定一个元素是否应该由用户去调整大小。 <style…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...
python读取SQLite表个并生成pdf文件
代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...
免费批量Markdown转Word工具
免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...
设计模式-3 行为型模式
一、观察者模式 1、定义 定义对象之间的一对多的依赖关系,这样当一个对象改变状态时,它的所有依赖项都会自动得到通知和更新。 描述复杂的流程控制 描述多个类或者对象之间怎样互相协作共同完成单个对象都无法单独度完成的任务 它涉及算法与对象间职责…...
