1. 程式人生 > >0055-在OpenCV環境下合成高動態範圍影象(HDR)

0055-在OpenCV環境下合成高動態範圍影象(HDR)

高動態範圍影象的英文名稱為HDR,全稱為High Dymamic Range。影象動態範圍是指影象中畫素亮度的最大值也最小值的比值,即最亮與最暗的灰度等級劃分,動態範圍越大,影象細節層次越豐富,表現形態越細膩。

HDR影象使用超過8bit/每通道(通常是32bit浮點值),這樣極大地提高了影象動態範圍。

現在有許多種不同的方式去獲得HDR影象,最常用的方式就是對同一個場景使用不同的曝光值,然後再把這些影象合成起來。HDR影象生成後,如果要是,必須要進行轉化才能顯示,這個過程叫tonemapping。

具體的合成原理請自行查閱相關文獻。

OpenCV中的photo模組提供HDR影象生成的相關函式和類。

類CalibrateCRF應用於相機響應校準演算法。

類MergeExposure實現合併曝光單個影象序列演算法。

類Tonemap實現HDR基礎tonemapping演算法。

程式碼如下
程式碼中用到的資料夾Memorial_SourceImages下載地址連結:https://pan.baidu.com/s/1jI5XEU6 密碼:es18

這個資料夾放置的路徑如下圖所示:

程式碼請加Q2034196302獲取
程式碼請加Q2034196302獲取
程式碼請加Q2034196302獲取

執行程式後,程式目錄下生成了HDR(高動態範圍)影象和LDR(低動態範圍)影象。大家可以看出,HDR影象確實是集合了各個程式曝光度的影象的細節。

程式生成的HDR影象下載連結:https://pan.baidu.com/s/1hrWPSpe 密碼:4pym
程式生成的LDR影象下載連結:https://pan.baidu.com/s/1miFwZNi 密碼:1ukj