理解摄像中的拐点

2024-03-01 12:48
文章标签 理解 摄像 拐点

本文主要是介绍理解摄像中的拐点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 (拐点是摄像技术中的一个重要技术概念,理解拐点将对拍摄具有非常重要的意义)此篇文章确实不错,特转来与大家分享
      在一些高级摄像机的菜单里,有一个叫knee的项目,中文译作拐点。在拐点的菜单里还有若干子项目,它们都是用来调什么的呢?
我们先来看一幅画面。(图1)这个画面中的景物亮度很高,有些地方是过曝的,高亮部分呈现全白没有任何细节,也就是说这部分的进来的光太亮了。
      我们知道,摄像机有其动态范围。所谓动态范围,就是摄像机所能成像的最小亮度到最大亮度之间的幅度。低于最小亮度(动态范围下限),画面就呈现全黑,高出最大亮度(动态范围上限),画面就呈现全白。在实际情况中,摄像机是不会把其动态范围全部用完的,上下都保持一些余量,以便在画面调整的时候使用。
      假如一台摄像机的标称动态范围上限为100%,那么它的余量可能到达110%,就是说,在110%的亮度范围内,摄像机仍然可以成像。而超过110%的部分,就会显示全白,就像上面那幅图中花瓣的样子。这个110%的上限,就称作白切割点(white clip point),意思就是,超过这个亮度值,就是全白。如果白切割点设在105%,那么超过105%的高亮部分就是全白。(图2)
但是,摄像机的成像件CCD作为一个接收光信号的器件,它依然记录了超过摄像机动态范围的光线,只是摄像机的动态范围无法把它们呈现出来罢了。通常,一个2/3吋CCD所记录的光线的动态范围大约是摄像机系统动态范围的6倍,即600%。那么这些超过摄像机白切割的超标亮度怎么处理呢?很简单,直接咔嚓掉,直接全白,反正留着也是多余。这就是一般摄像机处理动态范围之外高亮部分的方式。而一些高级摄像机,能通过“某些方法”,把超标的高亮数据“弄进”摄像机的动态范围内。这个“某些方法”就是拐点功能。
      图2就是拐点功能的原理。我们已经知道,CCD是线性成像物件,那么它对光线的反应必然是条直线。图中横坐标是入射光线,也就是CCD的动态范围;纵坐标是摄像机的动态范围。这条直线往上走,超过白切割的部分必然就被咔嚓掉了。但如果能把接近动态范围上限的直线部分给掰弯一点,那么更多的亮度不就被“弄进”摄像机的动态范围里了吗?
于是,为了能呈现更多超标高亮的画面,摄像机就有了“掰线”功能。掰线的过程酱紫:首先,在接近标称动态范围的某个位置,比如80%,设一个“开掰点”。然后,抓着开掰点上面的部分往下掰,掰得越斜,进入摄像机动态范围的线段自然就越多。这样,摄像机画面中,超过标称亮度的细节就能被呈现出来。这个掰线的过程就是所谓的拐点功能。
图2中,线段被调整的“开掰点”就是拐点(knee point),意思就是线从这点开始拐了。把上面的线掰多斜,就是所谓的斜率(knee slope),斜率越大,线被掰得越斜,进入摄像机动态范围的高亮部分就越多。而这个“掰线”的过程,是对高亮部分进行“压缩”,也就是对YUV中的Y(亮度信号)进行一定的削减,让其能进入摄像机的处理范围内,从而能让高亮细节呈现出来。一句话,拐点就是用来调节画面高光部分细节的。

图3就是经过拐点调整后,画面中的高亮细节呈现的情况。
      拐点调整实际上就是对高亮部分的亮度信号(Y)的一种消减。但如果斜率(knee slope)设得偏大,Y必然被消减得多。我们知道,最终画面像素是有YUV构成的,Y减得太多,像素的色彩饱和度就受影响。因此,在knee菜单里,还有个拐点饱和度(knee saturation)的设置。这个设置,就是为了在压缩高光时,专门用来弥补高光饱和度损失的。所以,在调整斜率的时候,要配合调整拐点饱和度,才能让拐点功能发挥最佳的效果。
      看到这里,你一定觉得高端摄像机的设置十分复杂。的确,摄像机是一种很复杂的机器,远比胶片摄影机复杂得多。随便一台阿莱胶片机,你用一天的时间就能完全掌握它的操作,第二天就能装胶片干活;而一台高清,光是熟悉菜单,给你一个星期你都不敢说完全摸透。即使是好莱坞的电影制作,如果用高清拍摄,往往要有个技术员给摄影组提供支持,这种囧况在胶片拍摄是没有的;就是因为高清很难伺候,换个场景要调调菜单,换个灯也调调菜单,所以有些摄影指导非常反感高清也情有可原。
与其他高清相比,在操作流程上,RED ONE更接近胶片摄影机。因为RED可以输出RAW数据,虽然是压缩格式,但RAW是成像件获取的原始数据,是在白平衡、伽马、拐点等等调整之前的数据;也就是说,所有的菜单设置,你可以后期在电脑上“补做”。这样在前期拍摄时,你只要像拍胶片那样控制好曝光就OK了。(跟大家玩数码单反的RAW文件基本一回事)
有些人不理解为什么好莱坞会用RED这种高压缩小数据流的“独立制片专用机”来拍主流电影?但颇具讽刺意味的是,恰恰因为RED比其他高清机更像胶片机,一按start键就可以开工,那些七七八八的曲线留给后期工序去收拾。而其他高清就不能这么随意,必须要事先调好才能拍出好的画面,但玩胶片出来的摄影师有几个会调高清,况且高清在后期一样得调,权衡一下,还不如直接用RED去拍。

图1:

图2:

 

图3:

这篇关于理解摄像中的拐点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762495

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

如何通俗理解注意力机制?

1、注意力机制(Attention Mechanism)是机器学习和深度学习中一种模拟人类注意力的方法,用于提高模型在处理大量信息时的效率和效果。通俗地理解,它就像是在一堆信息中找到最重要的部分,把注意力集中在这些关键点上,从而更好地完成任务。以下是几个简单的比喻来帮助理解注意力机制: 2、寻找重点:想象一下,你在阅读一篇文章的时候,有些段落特别重要,你会特别注意这些段落,反复阅读,而对其他部分

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

分布式系统的个人理解小结

分布式系统:分的微小服务,以小而独立的业务为单位,形成子系统。 然后分布式系统中需要有统一的调用,形成大的聚合服务。 同时,微服务群,需要有交流(通讯,注册中心,同步,异步),有管理(监控,调度)。 对外服务,需要有控制的对外开发,安全网关。

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

理解分类器(linear)为什么可以做语义方向的指导?(解纠缠)

Attribute Manipulation(属性编辑)、disentanglement(解纠缠)常用的两种做法:线性探针和PCA_disentanglement和alignment-CSDN博客 在解纠缠的过程中,有一种非常简单的方法来引导G向某个方向进行生成,然后我们通过向不同的方向进行行走,那么就会得到这个属性上的图像。那么你利用多个方向进行生成,便得到了各种方向的图像,每个方向对应了很多