何教授去霧演算法C 實現(除錯)

2021-07-15 15:20:54 字數 1035 閱讀 2889

前幾日有幸拜讀了何教授的一篇文章《single image haze removal using dark channel prior》的文章,結合最近接收的工作就像將去霧演算法增強dcm影象。

演算法的基本思想並不複雜,詳細的原理和推導大家可以參考大牛們的部落格和何教授的**原文。這裡用幾個公式概述演算法的主題部分。

首先對於暗通道的求取:

ω以x為中心的運算核,c是rgb三個通道。這個公式就是說求取運算核中所有通道的最小值,也就是對影象進行最小值濾波

估計折射率t:

w取值0.95,a是全域性光值,我在程式中設定的是220(8bit)

得到折射率影象之後便是,由公式反推出原始的影象了:

t0典型的取值0.1

以上便是演算法的大體流程,下面貼出我在執行時的結果。用作例子的影象是上篇部落格裡面讀取出來的dcm影象資料

原始影象:

暗通道影象:

得到的預估折射率影象:

由預估的折射率得到的「原始影象」:

最後我貼出我除錯用的工程和找到的一些資料希望對對各位看官有所幫助。

何愷明經典去霧演算法

視覺機械人 個人感覺學習他的經典演算法固然很重要,但是他的解決問題的思路也是非常值得我們學習的 那是2009年4月24日的早上,我收到了一封不同尋常的email。發信人是cvpr 2009的主席們,他們說我的文章獲得了cvpr 2009的最佳 獎 best award 我反覆閱讀這封郵件以確認我沒有...

經典去霧演算法DCP的c 實現

首先是需匯入的標頭檔案和包,我覺得一些演算法不給出包的話對我這種初學者不夠友好。本演算法使用到了vector陣列和排序的演算法所以用到了algorithm和vector include include include include using namespace cv using namespac...

暗通道去霧演算法的python實現

import cv2 as cv import numpy as np import matplotlib.pyplot as pyplot def darkchannel for i in range 0,rows 1 for j in range 0,cols 1 min rgb img arr...