聊深一點!關於數碼照片的那些數學邏輯

很久沒寫點稍有深度的內容了,今天就來簡單寫寫圖像處理算法中的基本代數加乘概念吧,數字圖像可以等效視為矩陣,在空間域的大多數操作都是按矩陣理論來執行的,無論是多張照片,還是單張照片,都可以用矩陣加乘來實現簡單但有效的圖像處理,按加減乘除來一個個看吧。

注:為了讓話題不那麼複雜,所以簡略了一些前提解讀,有疑問的可在評論區提出。

首先是圖像相加,最有意義的應用就是針對帶噪圖像的多幀疊加平均降噪,令g(x,y)為理想無噪聲圖像f(x,y)被噪聲n(x,y)汙染後的圖像,也即:

聊深一點!關於數碼照片的那些數學邏輯

對於讀取噪聲來說,每一對座標的噪聲是不相關的(對於固定模式噪聲等,可以用相關雙採樣等方式來解決,而與設計相關的暗電流、非均勻性響應等就需要通過改進工藝來解決了),這時候圖像g ̅ (x,y)是K張不同噪聲圖像進行平均而形成:

聊深一點!關於數碼照片的那些數學邏輯

且其期望值為f(x,y),g ̅與n在所有座標上的方差滿足:

聊深一點!關於數碼照片的那些數學邏輯

那麼,在均值圖像上,任意一點的均方差就是:

聊深一點!關於數碼照片的那些數學邏輯

可以看到隨著K增大,每個像素座標的變化將不斷減小,所以帶噪圖片數量增加意味著它在求均值的過程中,不斷接近理想的無噪聲圖像,當然,前提是像素間必須配準。不過在實際應用中K值並不是越大越好,它的變化曲線如下:

聊深一點!關於數碼照片的那些數學邏輯

橫座標為K值(即拍攝張數),縱座標為目標值,很明顯,在取值較高時的變化會大幅放緩。所以對於天文應用來說,50張左右的堆棧就已經有非常好的效果,可以看看下圖單張與32張的差距:

聊深一點!關於數碼照片的那些數學邏輯

因為相加是連續積分(也就是長曝)的離散形式,所以對於天文攝影來說,一組帶噪圖像的均值與一張冷凍長曝的效果是類似的。對於日常拍攝來說想要通過疊加降噪,在機身穩定的情況下使用RAW連拍即可,張數視具體情況而定,快和穩是最關鍵的,然後再到後期軟件裡進行疊加均值操作即可,這方面教程非常多,就不贅述了。

然後是圖像相減,

它的主要意義是增強圖像間的差別,在醫學造影方面有著非常重要的作用,比如數字減影血管造影:先拍攝一張血管造影做模板f(x,y),再注射介質拍攝活體圖像h(x,y),兩者相減後就得到了血管結構的造影g(x,y):

聊深一點!關於數碼照片的那些數學邏輯

再通過增強對比度的方式,就能獲得非常清晰、不受其他組織影響的血管造影。單幅圖像也能應用,只需把最低有效位元置零生成模板,再用原圖減去模板,也能得到類似的效果:

聊深一點!關於數碼照片的那些數學邏輯

對於機器視覺來說,圖像相減也廣泛應用於目標識別當中,而天文攝影中也需要拍攝暗場、暗平場便於後期處理時減法降噪,應用面還是很廣泛的。

最後是乘除關係,它的主要用途是校正陰影,傳感器給出的圖像g(x,y)從光影角度來看可以是完美圖像f(x,y)和陰影函數s(x,y)的乘積:

聊深一點!關於數碼照片的那些數學邏輯

情況A:如果陰影函數已知,利用反函數g(x,y)/h(x,y)即可得到f(x,y)。

情況B:大多數時候陰影函數都是未知的,如果這時候圖像系統可以訪問,就能通過對具有恆定灰度的目標成像,模擬一個近似的陰影函數。如果圖像系統不能訪問,就只能直接從g(x,y)裡估計陰影函數,準確度就要視具體情況而定了。

聊深一點!關於數碼照片的那些數學邏輯

除此之外,機器視覺裡的興趣區域操作也可以通過圖像相乘而來,將興趣區域以設置為模板圖像後,與給定的圖像相乘,模板區域為1,其他為0,就能得到給定圖像中模板區域的獨立成像,興趣區域可以不止一個,也可以是任意形狀。

代數運算是圖像處理的基礎之一,簡單瞭解這些基礎知識會對拍攝和後期處理提供一些原理上的輔助,便於理解,融會貫通。以後有時間,大家有興趣的話再做其他的基礎討論,這種文章就不寫太長了,權當看個熱鬧吧各位。


分享到:


相關文章: