此部分描述高动态范围成像算法,包括色调映射、曝光对齐、多曝光相机标定以及曝光融合。
|
Ptr< AlignMTB > | cv::createAlignMTB (int max_bits=6, int exclude_range=4, bool cut=true) |
| 创建 AlignMTB 对象。
|
|
Ptr< CalibrateDebevec > | cv::createCalibrateDebevec (int samples=70, float lambda=10.0f, bool random=false) |
| 通过最小化目标函数为每个亮度值提取逆相机响应函数 CalibrateDebevec 对象。
|
|
Ptr< CalibrateRobertson > | cv::createCalibrateRobertson (int max_iter=30, float threshold=0.01f) |
| 通过最小化目标函数为每个亮度值提取逆相机响应函数 CalibrateRobertson 对象。
|
|
Ptr< MergeDebevec > | cv::createMergeDebevec () |
| 创建 MergeDebevec 对象。
|
|
Ptr< MergeMertens > | cv::createMergeMertens (float contrast_weight=1.0f, float saturation_weight=1.0f, float exposure_weight=0.0f) |
| 创建 MergeMertens 对象。
|
|
Ptr< MergeRobertson > | cv::createMergeRobertson () |
| 创建 MergeRobertson 对象。
|
|
Ptr< Tonemap > | cv::createTonemap (float gamma=1.0f) |
| 创建带有 gamma 校正的简单线性映射器。
|
|
Ptr< TonemapDrago > | cv::createTonemapDrago (float gamma=1.0f, float saturation=1.0f, float bias=0.85f) |
| 创建 TonemapDrago 对象。
|
|
Ptr< TonemapMantiuk > | cv::createTonemapMantiuk (float gamma=1.0f, float scale=0.7f, float saturation=1.0f) |
| 创建 TonemapMantiuk 对象。
|
|
Ptr< TonemapReinhard > | cv::createTonemapReinhard (float gamma=1.0f, float intensity=0.0f, float light_adapt=1.0f, float color_adapt=0.0f) |
| 创建 TonemapReinhard 对象。
|
|
◆ 匿名枚举
◆ createAlignMTB()
Ptr< AlignMTB > cv::createAlignMTB |
( |
int |
max_bits = 6 , |
|
|
int |
exclude_range = 4 , |
|
|
bool |
cut = true |
|
) |
| |
Python |
---|
| cv.createAlignMTB( | [, max_bits[, exclude_range[, cut]]] | ) -> | retval |
#include <opencv2/photo.hpp>
创建 AlignMTB 对象。
- 参数
-
max_bits | 每个维度上最大偏移量的 2 的对数。通常 5 和 6 的值已经足够好了(分别为 31 和 63 像素偏移)。 |
exclude_range | 用于构造排除位图的范围,该排除位图用于抑制中值周围的噪声。 |
cut | 如果为 true,则裁剪图像,否则使用零填充新区域。 |
◆ createCalibrateDebevec()
Ptr< CalibrateDebevec > cv::createCalibrateDebevec |
( |
int |
samples = 70 , |
|
|
float |
lambda = 10.0f , |
|
|
bool |
random = false |
|
) |
| |
Python |
---|
| cv.createCalibrateDebevec( | [, samples[, lambda_[, random]]] | ) -> | retval |
#include <opencv2/photo.hpp>
通过最小化目标函数为每个亮度值提取逆相机响应函数 CalibrateDebevec 对象。
- 参数
-
samples | 待使用的像素位置数量 |
lambda | 平滑项权重。较大的值会产生更平滑的结果,但可能会改变响应。 |
random | 如果为 true,则以随机方式选择像素位置的样本,否则它们将形成一个矩形网格。 |
◆ createCalibrateRobertson()
Python |
---|
| cv.createCalibrateRobertson( | [, max_iter[, threshold]] | ) -> | retval |
◆ createMergeDebevec()
Python |
---|
| cv.createMergeDebevec( | | ) -> | retval |
◆ createMergeMertens()
Ptr< MergeMertens > cv::createMergeMertens |
( |
float |
contrast_weight = 1.0f , |
|
|
float |
saturation_weight = 1.0f , |
|
|
float |
exposure_weight = 0.0f |
|
) |
| |
Python |
---|
| cv.createMergeMertens( | [, contrast_weight[, saturation_weight[, exposure_weight]]] | ) -> | retval |
◆ createMergeRobertson()
Python |
---|
| cv.createMergeRobertson( | | ) -> | retval |
◆ createTonemap()
Ptr< Tonemap > cv::createTonemap |
( |
float |
gamma = 1.0f | ) |
|
Python |
---|
| cv.createTonemap( | [, gamma] | ) -> | retval |
#include <opencv2/photo.hpp>
创建带有 gamma 校正的简单线性映射器。
- 参数
-
gamma | gamma 校正的正值。1.0 的 gamma 值表示无校正,2.2f 的 gamma 值适合大多数显示器。通常,gamma > 1 使图像变亮,gamma < 1 使图像变暗。 |
◆ createTonemapDrago()
Ptr< 色调映射德拉戈 > cv::createTonemapDrago |
( |
float |
gamma = 1.0f , |
|
|
float |
saturation = 1.0f , |
|
|
float |
bias = 0.85f |
|
) |
| |
Python |
---|
| cv.createTonemapDrago( | [, gamma[, 饱和度[, bias]]] | ) -> | retval |
#include <opencv2/photo.hpp>
创建 TonemapDrago 对象。
- 参数
-
gamma | 用于 gamma 校正的 gamma 值。请参阅 createTonemap |
饱和度 | 正饱和度增强值。1.0 保持饱和度,大于 1 的值增大饱和度,小于 1 的值减小饱和度。 |
bias | [0, 1] 范围内的 bias 函数值。通常,0.7 到 0.9 之间的值会提供最佳结果,默认值是 0.85。 |
◆ createTonemapMantiuk()
Ptr< 色调映射曼蒂克 > cv::createTonemapMantiuk |
( |
float |
gamma = 1.0f , |
|
|
float |
scale = 0.7f , |
|
|
float |
saturation = 1.0f |
|
) |
| |
Python |
---|
| cv.createTonemapMantiuk( | [, gamma[, scale[, 饱和度]]] | ) -> | retval |
#include <opencv2/photo.hpp>
创建 TonemapMantiuk 对象。
- 参数
-
gamma | 用于 gamma 校正的 gamma 值。请参阅 createTonemap |
scale | 对比度比例因子。HVS 响应乘以此参数,从而压缩动态范围。0.6 到 0.9 之间的值会产生最佳结果。 |
饱和度 | 饱和度增强值。请参阅 createTonemapDrago |
◆ createTonemapReinhard()
Ptr< 色调映射赖因哈特 > cv::createTonemapReinhard |
( |
float |
gamma = 1.0f , |
|
|
float |
intensity = 0.0f , |
|
|
float |
light_adapt = 1.0f , |
|
|
float |
color_adapt = 0.0f |
|
) |
| |
Python |
---|
| cv.createTonemapReinhard( | [, gamma[, intensity[, light_adapt[, color_adapt]]]] | ) -> | retval |
#include <opencv2/photo.hpp>
创建 TonemapReinhard 对象。
- 参数
-
gamma | 用于 gamma 校正的 gamma 值。请参阅 createTonemap |
intensity | [-8, 8] 范围内的结果强度。较高的强度会生成更明亮的结果。 |
light_adapt | [0, 1] 范围内的光线适应。如果为 1,适应仅基于像素值;如果为 0,适应是全局性的;否则,它是这两个情况的加权平均。 |
color_adapt | [0, 1] 范围内的色适应。如果为 1,则通道独立处理;如果为 0,则每个通道的适应水平相同。 |