0055-在OpenCV環境下合成高動態範圍影象(HDR)
阿新 • • 發佈:2018-11-07
高動態範圍影象的英文名稱為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