簡單說一下Lut

2021-08-16 05:03:34 字數 1514 閱讀 3258

lut的全稱是顯示查詢表(look-up-table),對應著一種對映關係。在影象調色中用到很多。

使用lut可以輕鬆得到變換之後的顏色

trans_color =  luttrans(color);
但是乙個完整的色域資訊是256*256*256就算是乙個資訊只有1位元組,這個資訊也有16mb的大小,對於工程來講實在是太大了。

所以在實際的工程中,通常使用n*n*n的資訊空間來概略的表示256*256*256的資訊空間。

比如使用64*64*64,將其分解為64*64*8*8512*512的影象大小。

影象的橫縱座標(x,y)可以表示為(x1*64+x2,y1*64+y2),那麼通過(x1,y1)可以得到第乙個色道**(blue),通過x2可以得到第二個色道(red),通過y2可以得到第三個色道(green)**。

標準的lut影象就是將0~255的分量等分為n份。

當n為64的時候,設其對映關係為:

區間          對映值

0 ~ 4 -> 0

4 ~ 8 -> 4

8 ~ 12 -> 8

...252 ~ 256 -> 252

這樣是均勻的對映關係

除了正方形的lut影象,還有線性的lut影象,其生成**分別為:

void generate_lut_square(int len)

} imshow("lutans", gen_lut_img);

imwrite("../lut_ans16.png", gen_lut_img);

}void generate_lut_line(int len)

} imshow("lutans", gen_lut_img);

imwrite("../lut_ans_line.png", gen_lut_img);

}

若想在cpu中計算使用lut,lut的值是一一對應的,不會出現浮點插值的問題。

vec3b luttrans(vec3b color)

但是當lut技術用在gpu中的時候,因為取值使用的函式是texture2d,所以取值會出現浮點誤差,這時候就需要根據浮點數的到所謂整點的距離來計算其對應的顏色值。

vec4 luttransdlx(vec4 color)

簡單說一下《TCP IP協議》

tcp ip的通訊協議 這部分簡要介紹一下tcp ip的內部結構,為討論與網際網路有關的安全問題打下基礎。tcp ip協議組之所以流行,部分原因是因為它可以用在各種各樣的通道和底層協議 例如t1和 x.25 乙太網以及 rs 232 序列介面 之上。確切地說,tcp ip協議是一組包括tcp協議和i...

簡單說一下 MVC 設計模式

mvc 全名 是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫,一種軟體設計典範,用一種業務邏輯 資料 介面顯示分離的方法組織 將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。mvc...

簡單說一下 http 和 https

http 超文字傳輸協議,他是網際網路中應用最廣泛的網路通訊協議,是完成 客戶端 和 服務端,請求 和 答應 等一系列行為的標準 https 以安全為目的的http通道 http ssl 進行加密後的 傳輸協議 具備 加密傳輸 和 身份驗證的功能 傳輸 證書 埠號 狀態 1,客戶端使用 https ...