使用GDI 進行開發的一些問題(7)

2021-08-27 09:28:22 字數 1157 閱讀 3554

我最近一直在顏色空間中糾結,前面講的透明不透明只是一種特殊的顏色。今天我準備要講的是真正的修正顏色。我們使用的數位相機有不同的型號,感光的ccd效能也是不一樣的,再加上天氣或者周圍光線的原因,我們排出來的**可能會偏色。此外,為了做一些特殊處理,可能需要將**中某乙個特殊的區域顏色進行修正。比如臉色可以變得更好一點,或者頭髮更黑一點等等。這個topic很大,我會花好幾個星期來講這些內容,因為涉及到許多影象處理的基本知識。今天咱們不寫code,只講理論。

在之前的分析中,相信所有的人都知道r,g,b是什麼東西了。我們在描述色彩的時候,最常用的就是用rgb色彩空間。通過描述顏色的三個不同的分量,我們可以記錄某個畫素的顏色值。我們在此不涉及裝置色彩空間的概念,但是有一點需要大家記住的,(0,0,0)並不代表全黑,(255,255,255)也並不代表全白,在不同的裝置上,顯示出的內容是不完全一樣的。這個問題的解決需要依靠我之前講的icm(如果要加上透明,那就是四維的空間,(a,r,g,b)。各個分量可以被量化為不同的級別,所以才造成了8位色,16位色等等,這種量化級別可以區分各種不同的顏色,直到人眼無法察覺的程度。所以對乙個初學者來說,不透明的顏色就是個cube,在乙個三維空間中的乙個點。如下圖

圖 1 色彩空間立方體

這個圖很好看吧,只是很可惜,這只是對顏色描述的一種最簡單的方式,它所能描述顏色內容是極其有限的,也不精確。要徹底理解這個問題,我要幫大家分析什麼光的原理,顏色的波長,材料的對不同波長光的吸收和反射或者漫反射。這裡我就不多說了,有興趣的同學去找物理系光學專業的老師好好問問,人家一輩子都研究著這個問題。更有興趣的同學可以去問問物理系的大教授討論一下光的波粒二象性,再研究一下人眼對光的感受,再研究不同材料表面對光的反應,再研究……,打住了~!再研究下去您這輩子就結束了,所以只要簡單地理解顏色就是rgb就好了。it民工能理解到這個程度已經很不錯了。

這裡再給大家看個有趣的圖,表示的是乙個色彩空間叫srgb能描述的顏色,灰色區域是人眼可以感知的顏色,裡面的那個三角就是srgb色彩空間能描述的顏色。還有一點要注意的是rgb色彩空間只是描述顏色的一種手段。具體還可以參考wikipedia:

圖 2 rgb色彩空間

使用GDI 進行開發的一些問題(9)

影象的本質是什麼?對不同的人來說這是不同的東西。在計算機的世界中,啥東西都是資料,影象也是一種資料。從自然界的光變成計算機的資料,需要通過取樣和量化的處理。影象在計算機中,其實是乙個二維陣列,從數學上來說,這其實是乙個矩陣。影象中的每乙個點都是個四維向量,也就是 r,g,b,a 在rgba色彩空間中...

win7開發hadoop的一些問題

windows下開發mr程式,經常會出現一些亂七八糟的問題 1.身份問題,usergroupinformation中會處理身份問題.而且取的是系統當前登入使用者,也就是你win7的使用者,以這個身份進入hadoop集群.會導致hadoop拒絕執行任務 解決辦法 1 在win7的環境變數中新增hado...

開發遇到的一些問題

持續更新 1.禁止以複製 貼上以及剪下的方式操作密碼框中的內容 password bind copy cut paste function 2.當頁面取值為乙個字段,但是欄位中有很多資料,用,分割,展示的時候要換行,如何處理?半形的不斷行的空白格 推薦使用 半形的空格 全形的空格 3.比較值時,需要...