數字圖像處理成長之路1:look up table

最近開始自學數字圖像處理,學習了一段時間後也寫了幾個心得,從直方圖均衡到邊緣檢測,接下來想學習特徵檢測,知識有些跳躍。要想在短時間瞭解一個知識的全貌,需要跳躍的學習,而要想鞏固基礎,需要細緻研究。這就好象遠看一座山,和走進一座山的區別。

從今天起,打算從頭細緻的學習數字圖像處理,儘量的不放過任何一個知識點。

Look up table 簡稱LUT
計算機裏出現的表,在我的理解來看,大多和加速有關。
lut也正是爲了加速而生。

假如有一個100x100的圖片,每個像素的取值0-255。
現在想對這個圖片進行一些操作,比如讓每個像素亮度縮小10倍,寫成I/10,則我們需要計算100x100 = 10000便除法。
如果圖片是1000*1000則我們需要計算1000000遍除法,可以想象這是多麼的費時,速度會很慢。

下面我們看看如何用LUT加速上一過程,定義一個256長度的數組,其每個值等於I/10,I = 0, 1, 2, …254,255 然後開始掃描原圖片,用圖片中每一個像素的值作爲索引,在LUT表中找到對應的值即可。

也就是說,無論這個圖片多大,也都是由灰度值爲0-256的像素組成的,256箇舊值對因表中256個新值,接下來只要進行賦值操作就可以了。

應用LUT的步驟,第一步構建自己需要到的LUT,第二步替換。

參考資料
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/how_to_scan_images/how_to_scan_images.html#howtoscanimagesopencv

發佈了40 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章