OpenCV函式學習之cvLUT

2021-09-22 10:42:03 字數 1614 閱讀 3907

何為lut,就是指顯示查詢表(look-up-table),lut(look-up table)實際上就是一張畫素灰度值的對映表,它將實際取樣到的畫素灰度值經過一定的變換如閾值、反轉、二值化、對比度調整、線性變換等,變成了另外乙個與之對應的灰度值,這樣可以起到突出影象的有用資訊,增強影象的光對比度的作用。

我在以前寫的python灰度變換就是和這個是乙個意思

我們來看看實際運用效果:

} 複製**

這個程式,我們實現的是影象色彩的反轉

效果如下:

我們通過實現不同的對映表來實現不同的變換效果

後來我發現乙個小問題,我在前面實現的對數變換和指數變換的表和這裡的表正好相反

我在前面的實現中 table[i] =j 其中 i 是原圖中的灰度值,j 是要對映的灰度值。這樣我原圖中不同的灰度值可以對映到哦同一灰度值上

例如,我可以經過灰度變換把原圖中灰度為230以上的點都對映為灰度值255

只需要table[230] = 255, table[231] = 255 ........table[255] = 255

但經過我程式設計實踐後發現opencv中的對映表是table[j] = i; j 為要對映的值,i為原圖中的值,

那麼原圖中最多只有乙個灰度值能對映為255了,那table[255] = 230,table[255] = 231.........table[255] = 255;

最終都會導致前面的賦值被後面的覆蓋,最後原圖中灰度值為230-254的點將不會改變,這樣也就不能實現我們想要的指數變換和對數變換。

因為他們都是一對多的對映

難道是我自己程式設計的問題,至少我現在是得到這樣的結論。

OpenCV基本函式學習

include highgui.h int main int argc,char argv include highgui.h int main int argc,char argv cvreleasecapture capture cvdestroywindow example2 include ...

opencv函式學習 python

最近在看胡春旭老師的1.cvbridge 這是乙個在opencv影象和ros影象訊息之間轉換的物件 2.imgmsg to cv2 和cv2 to imgmsg 這兩個函式乙個是將sensor msgs image訊息轉化為opencv格式的影象訊息,乙個是將opencv格式的影象訊息轉化為sens...

opencv 星空 opencv 數學函式

1.round floor ceil 捨入轉為整數 int cvround double value int cvfloor double value int cvceil double value 2.sqrt 平方根 invsqrt 平方根的倒數 cbrt 輸入值的立方根 float cvsqr...