OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
HDR 成像

详细描述

本节描述了高动态范围成像算法,即色调映射、曝光对齐、多重曝光相机校准和曝光融合。

类  cv::AlignExposures
 用于对齐同一场景不同曝光图像的算法的基类。更多...
 
类  cv::AlignMTB
 此算法将图像转换为中值阈值位图(亮度高于中值亮度的像素为 1,否则为 0),然后使用位操作对结果位图进行对齐。更多...
 
类  cv::CalibrateCRF
 用于相机响应校准算法的基类。更多...
 
类  cv::CalibrateDebevec
 通过将目标函数作为线性系统进行最小化,为每个亮度值提取逆相机响应函数。目标函数是使用所有图像中相同位置的像素值构建的,并添加了额外的项以使结果更平滑。更多...
 
类  cv::CalibrateRobertson
 通过将目标函数作为线性系统进行最小化,为每个亮度值提取逆相机响应函数。此算法使用所有图像像素。更多...
 
类  cv::MergeDebevec
 生成的 HDR 图像是根据曝光值和相机响应计算的曝光加权平均值。更多...
 
类  cv::MergeExposures
 可将曝光序列合并为单个图像的算法的基类。更多...
 
类  cv::MergeMertens
 像素使用对比度、饱和度和曝光良好度度量进行加权,然后使用拉普拉斯金字塔合并图像。更多...
 
类  cv::MergeRobertson
 生成的 HDR 图像是根据曝光值和相机响应计算的曝光加权平均值。更多...
 
类  cv::Tonemap
 色调映射算法的基类 - 用于将 HDR 图像映射到 8 位范围的工具。更多...
 
类  cv::TonemapDrago
 自适应对数映射是一种快速的全局色调映射算法,它在对数域中缩放图像。更多...
 
类  cv::TonemapMantiuk
 此算法使用高斯金字塔所有层上的梯度将图像转换为对比度,将对比度值转换为 HVS 响应并缩放响应。之后,图像从新的对比度值重建。更多...
 
类  cv::TonemapReinhard
 这是一种模拟人类视觉系统的全局色调映射运算符。更多...
 

枚举

枚举  { cv::LDR_SIZE = 256 }
 

函数

Ptr< AlignMTBcv::createAlignMTB (int max_bits=6, int exclude_range=4, bool cut=true)
 创建 AlignMTB 对象。
 
Ptr< CalibrateDebeveccv::createCalibrateDebevec (int samples=70, float lambda=10.0f, bool random=false)
 创建 CalibrateDebevec 对象。
 
Ptr< CalibrateRobertsoncv::createCalibrateRobertson (int max_iter=30, float threshold=0.01f)
 创建 CalibrateRobertson 对象。
 
Ptr< MergeDebeveccv::createMergeDebevec ()
 创建 MergeDebevec 对象。
 
Ptr< MergeMertenscv::createMergeMertens (float contrast_weight=1.0f, float saturation_weight=1.0f, float exposure_weight=0.0f)
 创建 MergeMertens 对象。
 
Ptr< MergeRobertsoncv::createMergeRobertson ()
 创建 MergeRobertson 对象。
 
Ptr< Tonemapcv::createTonemap (float gamma=1.0f)
 Creates simple linear mapper with gamma correction.
 
Ptr< TonemapDragocv::createTonemapDrago (float gamma=1.0f, float saturation=1.0f, float bias=0.85f)
 创建 TonemapDrago 对象。
 
Ptr< TonemapMantiukcv::createTonemapMantiuk (float gamma=1.0f, float scale=0.7f, float saturation=1.0f)
 创建 TonemapMantiuk 对象。
 
Ptr< TonemapReinhardcv::createTonemapReinhard (float gamma=1.0f, float intensity=0.0f, float light_adapt=1.0f, float color_adapt=0.0f)
 创建 TonemapReinhard 对象。
 

枚举类型文档

◆ 匿名枚举

匿名枚举

#include <opencv2/photo.hpp>

枚举器
LDR_SIZE 
Python: cv.LDR_SIZE

函数文档

◆ 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用于排除位图的范围,该位图用于抑制中值附近的噪声。
剪切如果为 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()

Ptr< CalibrateRobertson > cv::createCalibrateRobertson ( int max_iter = 30,
float threshold = 0.01f )
Python
cv.createCalibrateRobertson([, max_iter[, threshold]]) -> retval

#include <opencv2/photo.hpp>

创建 CalibrateRobertson 对象。

参数
max_iter高斯-赛德尔求解器最大迭代次数。
RANSAC参数。它是点到像素中对极线的最大距离,超过此距离的点将被视为异常值,不用于计算最终的基本矩阵。它可以设置为1-3左右,具体取决于点定位的精度、图像分辨率和图像噪声。最小化连续两个步骤结果之间的目标差值。

◆ createMergeDebevec()

Ptr< MergeDebevec > cv::createMergeDebevec ( )
Python
cv.createMergeDebevec() -> retval

#include <opencv2/photo.hpp>

创建 MergeDebevec 对象。

◆ 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

#include <opencv2/photo.hpp>

创建 MergeMertens 对象。

参数
对比度权重对比度测量权重。参见 MergeMertens
saturation_weight饱和度测量权重
exposure_weight曝光良好度测量权重

◆ createMergeRobertson()

Ptr< MergeRobertson > cv::createMergeRobertson ( )
Python
cv.createMergeRobertson() -> retval

#include <opencv2/photo.hpp>

创建 MergeRobertson 对象。

◆ createTonemap()

Ptr< Tonemap > cv::createTonemap ( float gamma = 1.0f)
Python
cv.createTonemap([, gamma]) -> retval

#include <opencv2/photo.hpp>

Creates simple linear mapper with gamma correction.

参数
gamma伽马校正的正值。伽马值为 1.0 意味着没有校正,伽马值为 2.2f 适用于大多数显示器。通常,伽马值 > 1 会使图像变亮,伽马值 < 1 会使图像变暗。

◆ createTonemapDrago()

Ptr< TonemapDrago > cv::createTonemapDrago ( float gamma = 1.0f,
float saturation = 1.0f,
float bias = 0.85f )
Python
cv.createTonemapDrago([, gamma[, saturation[, bias]]]) -> retval

#include <opencv2/photo.hpp>

创建 TonemapDrago 对象。

参数
gamma伽马校正的伽马值。请参阅 createTonemap
saturation正饱和度增强值。1.0 保留饱和度,大于 1 的值增加饱和度,小于 1 的值降低饱和度。
bias[0, 1] 范围内的偏置函数值。0.7 到 0.9 之间的值通常能提供最佳结果,默认值为 0.85。

◆ createTonemapMantiuk()

Ptr< TonemapMantiuk > cv::createTonemapMantiuk ( float gamma = 1.0f,
float scale = 0.7f,
float saturation = 1.0f )
Python
cv.createTonemapMantiuk([, gamma[, scale[, saturation]]]) -> retval

#include <opencv2/photo.hpp>

创建 TonemapMantiuk 对象。

参数
gamma伽马校正的伽马值。请参阅 createTonemap
scale对比度缩放因子。HVS 响应乘以该参数,从而压缩动态范围。0.6 到 0.9 之间的值能产生最佳结果。
saturation饱和度增强值。请参阅 createTonemapDrago

◆ createTonemapReinhard()

Ptr< TonemapReinhard > 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伽马校正的伽马值。请参阅 createTonemap
intensity结果强度在 [-8, 8] 范围内。强度越大,结果越亮。
light_adapt光适应在 [0, 1] 范围内。如果为 1,适应仅基于像素值;如果为 0,则为全局适应;否则,它是这两种情况的加权平均值。
color_adapt色度适应在 [0, 1] 范围内。如果为 1,通道独立处理;如果为 0,每个通道的适应级别相同。