學習DIP第68天
轉載請標明本文出處:http://blog.csdn.net/tonyshengtan ,出於尊重文章作者的勞動,轉載請標明出處!文章代碼已托管,歡迎共同開發:https://github.com/Tony-Tan/DIPpro
開篇廢話
觀察了一下岡薩雷斯的書,發現彩色圖像處理僅僅用了一章進行介紹,原因分析了一下,后來發現,好像別的介紹的也不多,得出一個結論。岡薩雷斯這本書僅僅能作為一部綱領性的介紹。它基本涵蓋了圖像處理的基礎知識。可是假設想使用某種方向作為工作的話。須要繼續找很多其它專業的書和開源項目來學習。
還是像我之前抱怨的那樣。每次看一本書之前都認為自己看完了會變得超級厲害,但每次看完一本書以后反而會認為自己像個傻瓜一樣。須要很多其它的書來學習,如此循環,這一生都不會幸福了。盜圖一張,與各位共勉
原理
說到偽彩色圖像,與其相應的是真彩色,以下介紹下其差別和性質。
我們知道可以觀察出顏色的光的波長范圍是有限的,僅僅有那么一小段,換句話說也就是說有一大段光,僅僅有一小段有顏色。其它都是灰度的,但人類視覺有一個特點就是,僅僅能分辨出二十幾種灰度,也就是說採集到的灰度圖像分辨率超級高。有一千個灰度級,但非常遺憾。人們僅僅能看出二十幾個,也就是說信息損失了五十倍,但人類視覺對彩色的分辨能力相當強,可以分辨出幾千種色度。
在從採集的角度說下偽彩和真彩色,偽彩色原始圖像是灰度圖像
灰度圖像的來源:
- 單通道相機或其它傳感器(比方CT用的平板)採集到的都是灰度圖,這里包含使用單通道採集的頻率高於可見光的頻率的電磁波,可見光,低於可見光頻率的電磁波。
圖中紅色框內為不可見光,沒有顏色。所以他們一定是灰度圖,須要時要進行偽彩色處理。 - 使用多通道採集設備採集的不可見光,這種圖像有時候是單通道的。就是1中所說的,也有可能是多通道,不如衛星就有可能,紅外。可見光,還有其它不可見光採集設備。這種多通道灰度圖有時候須要進行偽彩處理。
真彩色圖的來源:
用多通道採集設備,多為相機來採集可見光,這樣得到的是多通道真彩色圖像。
算法分析
對於單通道灰度圖轉換成偽彩圖像的方法是將一種灰度映射為一種顏色。而映射方式不唯一。可以依據須要自行設定,以下的代碼使用的算法是我自己想出來的,使用到了HSV色彩空間。並將當中的飽和度和亮度設為1.0,色相使用灰度0到255映射到0°到270°:
代碼
void Gray2Color(double *src,RGB* dst,int width,int height,int type){
HSV* temp=(HSV*)malloc(sizeof(HSV)*width*height);
for(int i=0;i<width*height;i++){
double gray_value=src[i];
if(type==HIGHVALUE_EQU_RED)
temp[i].c1=HSVMAX-GRAY2HSV*gray_value;
else if(type==LOWVALUE_EQU_RED)
temp[i].c1=GRAY2HSV*gray_value;
temp[i].c2=1.0;
temp[i].c3=1.0;
}
HSV2RGB(temp, dst, width, height);
free(temp);
}
效果分析
灰度漸進圖:
MacBook Pro x光掃描圖
衛星地形圖:
星雲:
總結
偽彩色圖鄉相對灰度圖像可以識別很多其它的細節,可分辨性較強。
並且轉換方式靈活。可以依據須要自行設計轉換函數。或者自制映射表。
待續。。。
