灰度反轉 “你說的黑是什么黑......”有一首歌的歌詞是這樣的。 在圖像中,黑是什么? 很簡單,就是0嘛。 因為在數(shù)字圖像里,用0表示黑。 那么,“你說的白是什么白?” 在256灰度級的灰度圖像中,白就是255。 所謂的灰度反轉,也叫反色變換,就是把黑變成白,白變成黑。 那黑和白之間的那些灰度如何反轉呢,用255-灰度值就行了。 專業(yè)一點,用表達式表示為: g(x,y)=L-1-f(x,y) L為圖像的灰度級,一般的灰度圖像中,L=256. g(x,y)為結果圖像,f(x,y)為原圖像。 1、灰度圖像反色變換 如下圖,左邊的黑色字母T,背景色為白色,轉換后,變成了白色的字母T,背景色變成了黑色。 仔細區(qū)分,還是能發(fā)現(xiàn),黑變成了白(如頭發(fā),眼睛),白變成了黑(如帽沿,肩膀)。但黑和白之間的那些灰度,也都是用255減去了它本身的灰度值,我只能看出來有變化,變化是從這種灰這成了那種灰,反正我的視覺沒有經(jīng)過訓練,分不太出來,哪個像素到底灰度值是多少。 2、彩色圖像反色變換 對于彩色圖像來說,反色變換就是將圖像中的R、G、B分量反轉,專業(yè)一點地用表達式來寫即是: 如下圖所示,還是用lena美女圖來示意。 結果圖像好像有點玄幻,但你要相信,反色過來就是這樣的。RGB三基色的相加或相減混色,出來的效果就是這樣啦。 其代碼如下: 代碼也不復雜,即我們前面所介紹過的拆分與合并,對各個通道進行反色變換,再合并回來就行。 寫代碼的時候,因為三個通道的操作是一樣的,也可以把上述代碼簡寫為: 兩段代碼的運行結果是一樣一樣的喲。
|
|
來自: pythonjava學習 > 《python圖像處理》