付費限定[OpenCV][Python]色階調整去霧技術(暗通道去霧)
付費限定

[OpenCV][Python]色階調整去霧技術(暗通道去霧)

更新於 發佈於 閱讀時間約 1 分鐘

色階調整去霧技術是一種圖像增強技術,通過調整圖像的亮度和對比度來減少或消除霧氣的影響。主要依賴於圖像的直方圖,通過分析圖像中像素亮度的分佈來增強細節、提高對比度,使得被霧氣模糊的細節得以還原。以改善模糊或灰濛的圖像。

本文主要利用了圖像去霧技術中的暗通道先驗(Dark Channel Prior)和引導濾波(Guided Filter),並且提供了多個參數來控制去霧的效果,適合調整以適應不同的圖像場景。


步驟:

  1. 圖像歸一化處理(範圍轉換到 [0, 1])。
  2. 計算暗通道圖像,並使用引導濾波優化。
  3. 根據圖像中的亮點區域估計大氣光源。
  4. 使用大氣隱藏圖像進行去霧和色彩還原。
  5. 可選地應用 gamma 校正以提高對比度。
  6. 將結果範圍轉換回 [0, 255],輸出去霧後的圖像。

圖檔來源

Pexels 上由 Eric Hammett 拍攝的相片: https://www.pexels.com/zh-tw/photo/2741576/


結果圖

左邊為原圖,右邊為去霧的成果

raw-image
raw-image
raw-image
以行動支持創作者!付費即可解鎖
本篇內容共 426 字、0 則留言,僅發佈於[Python][OpenCV]學習心得筆記你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
螃蟹_crab的沙龍
137會員
242內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言
avatar-img
留言分享你的想法!
螃蟹_crab的沙龍 的其他內容
本文將實測,使用同一組圖像,用不同的OCR模型來辨識看成效如何,主要介紹如何從資料夾中,讀取圖片檔中的檔名來比對tesseract OCR的結果是否一致,若結果不同就記錄其錯誤位置及次數,統計最後的誤判率及誤判字的總次數。 圖片檔中的檔名由事先整理出正確結果,比對OCR模型用。
在Tesseract的討論論壇中看到一篇文章,有人研究tesseract在文字高度在30~33pixl~內辨識率是最佳的。 本文就將來實作看看,拿出之前實驗用的OCR圖檔來跑跑看。 實驗內容 縮放與不縮放的圖片在tesseract OCR結果比較 圖片縮放流程 先讀取圖片中OCR的高度,取
[OpenCV][Python]影像增強對比_自適應直方圖均衡化 在上一篇文章,我們有比較過自適應直方圖均衡化與直方圖均衡化的差異。 本文將主要應用在OCV檢測上,應用這兩種方法將會有那些不一樣的差異。內文中的OCV檢測,主要涵蓋OCR的文字高寬及面積。 測試圖 就利用這看起來雜訊特多的圖。
此文章延續以下這篇文章,實際測試增加或固定間隔的狀況下,是否可以增加辨識率 [OpenCV][Python]OCR分割及增加間隔[雙排文字] 此篇文章程式碼有修正上篇,OCR 特殊符號:會分割錯誤的問題。
呈上篇文章,針對單排的圖像文字增加間隔,但如果文字是雙排呢 [OpenCV][Python]OCR分割及增加間隔[單排文字]
在文字辨識中,適當的增加一文字彼此間的間隔是有幫助於辨識的,原因在大多數OCR引擎在處理字符時會依賴空白區域來區分不同的字符。如果字符之間的間隔過小,OCR引擎可能會將相鄰的字符誤認為一個單一的字符或難以正確切割字符。增加間隔可以幫助OCR引擎更準確地識別和切割每個字符。 本文說明如何增加OCR間
本文將實測,使用同一組圖像,用不同的OCR模型來辨識看成效如何,主要介紹如何從資料夾中,讀取圖片檔中的檔名來比對tesseract OCR的結果是否一致,若結果不同就記錄其錯誤位置及次數,統計最後的誤判率及誤判字的總次數。 圖片檔中的檔名由事先整理出正確結果,比對OCR模型用。
在Tesseract的討論論壇中看到一篇文章,有人研究tesseract在文字高度在30~33pixl~內辨識率是最佳的。 本文就將來實作看看,拿出之前實驗用的OCR圖檔來跑跑看。 實驗內容 縮放與不縮放的圖片在tesseract OCR結果比較 圖片縮放流程 先讀取圖片中OCR的高度,取
[OpenCV][Python]影像增強對比_自適應直方圖均衡化 在上一篇文章,我們有比較過自適應直方圖均衡化與直方圖均衡化的差異。 本文將主要應用在OCV檢測上,應用這兩種方法將會有那些不一樣的差異。內文中的OCV檢測,主要涵蓋OCR的文字高寬及面積。 測試圖 就利用這看起來雜訊特多的圖。
此文章延續以下這篇文章,實際測試增加或固定間隔的狀況下,是否可以增加辨識率 [OpenCV][Python]OCR分割及增加間隔[雙排文字] 此篇文章程式碼有修正上篇,OCR 特殊符號:會分割錯誤的問題。
呈上篇文章,針對單排的圖像文字增加間隔,但如果文字是雙排呢 [OpenCV][Python]OCR分割及增加間隔[單排文字]
在文字辨識中,適當的增加一文字彼此間的間隔是有幫助於辨識的,原因在大多數OCR引擎在處理字符時會依賴空白區域來區分不同的字符。如果字符之間的間隔過小,OCR引擎可能會將相鄰的字符誤認為一個單一的字符或難以正確切割字符。增加間隔可以幫助OCR引擎更準確地識別和切割每個字符。 本文說明如何增加OCR間