我正在使用 FCam 拍照,现在无需修改,照片与智能手机相机相当。FCam 宣传 HDR 和低光性能,但我没有看到任何在拍照时如何使用它的示例。
如何拍摄 HDR 照片?根据我使用单反相机的经验,您通常拍摄 3 张照片,1 张下方,1 张上方,以及 1 张正确曝光的场景。
由于我将拍摄很多照片,我应该如何将这些像素混合在一起?平均?
沃尔特
FCam 项目页面包括一个完整的相机应用程序 - FCamera,检查FCam 下载页面,最后一项,对于“HDR Viewfinder”,它只是将长/短曝光图像平均在一起,对于“HDR Capture”,它会自动记录一连串适当的 -曝光的镜头。请参阅src/CameraThread.cpp
来源,我不确定从中引用它有多合适,但您会在CameraThread::run()
.
它不会为您平均 HDR 图像,而是将它们记录为序列。我猜这是有意为之——通过在平均过程之后仔细调整色调映射来实现大部分“HDR”吸引力,即调整动态范围压缩回 8 位的精确度。如果您在相机上以硬编码的方式执行此操作,您将限制摄影师在实现最佳输出方面的选择。MPI 有一个HDR 成像技术研究小组,为此目的提供源代码。
简而言之,“穷人的 HDR”只是一个平均值。“正确的 HDR”永远不会是 8 位 JPEG,因为这会丢弃“高动态范围”中的“高”位 - 因此,从 HDR(将具有 16 位/颜色甚至更多)转换为例如 JPEG通常从 HDR 图像序列作为后处理(离机)步骤完成。
对于 HDR 视频,如果您使用手持设备上的单个传感器进行录制,通常会在形成“HDR 序列”的图像之间引入运动(您的总曝光时间等于所有子曝光的总和,加上传感器的延迟数据读取和相机控制器重新编程)。
这意味着在实际叠加和最终色调映射操作之前也应尝试图像配准,除非您对模糊感到满意。配准在某种程度上是计算密集型的,也是先记录图像流并稍后执行 HDR 视频创建(提供一些手动调整)的另一个很好的理由。OpenCV 库提供注册/匹配功能。
上面提到的 MPI 软件是PFSTools,特别是色调映射运算符(PFStmo)库。其中一位作者的研究论文提供了一个很好的起点;至于您关于如何执行后处理的问题,PFSTools 是通过 UNIX 管道互操作/传递数据的命令行实用程序;在 Maemo / N900 上,由于完整的 Linux 环境,它们的使用非常简单;只需通过 . 生成一个 shell 脚本system()
。