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,每個通道的適應級別相同。