OpenCV-Python实战(28)——OpenCV计算摄影从HDR图像融合到全景拼接
- 0. 前言
- 1. 规划应用程序
- 2. 图像的 8 位问题
- 2.1 RAW 图像
- 2.2 伽玛校正
- 3. 高动态范围成像
- 3.1 改变曝光度的方法
- 3.2 利用多张不同曝光的图像生成 HDR 图像
- 3.3 使用 OpenCV 编写 HDR 脚本
- 3.4 显示 HDR 图像
- 4. 全景拼接
- 4.1 编写脚本参数并筛选图像
- 4.2 确定相对位置和最终图片尺寸
- 4.3 改进全景拼接
- 小结
- 系列链接
0. 前言
本节的目标是在摄影和图像处理的基础上,深入探讨OpenCV提供的一些算法。我们将专注于数字摄影处理,并构建能够充分利用OpenCV功能的工具,将其作为编辑照片的工具。
学习数字摄影的基础知识和高动态成像的概念,不仅能更好地理解计算摄影,还能成为更优秀的摄影师。通过本节,将学习如何直接使用数码相机处理RAW格式图像,如何使用OpenCV的计算摄影工具以及如何使用低级OpenCV API来构建全景拼接算法。
1. 规划应用程序
为了构建图像处理工具箱,我们将把要熟悉的算法开发成Python脚本,利用OpenCV来解决实际问题。
我们将使用OpenCV实现以下脚本,以便在需要进行照片处理时能够随时使用它们:
gamma_correct.py:对输入图像应用伽马校正并显示结果图像hdr.py:接收多张图像作为输入并生成高动态范围 (High Dynamic Range,HDR) 图像作为输出panorama.py:接收多张图像作为输入并生成一张大于单张图像的拼接图像
我们首先讨论数字摄影的工作原理,以及为什么我们在不进行后期处理的情况下无