人類經歷了黑白圖像到彩色圖像的過渡,經歷了黑白電視到彩色電視的過渡。在當今大數據時代的背景下,色彩顯得越來越重要,著色技術也因需求的增長而得到快速的發展。
有研究表明,人在認知事物的過程中主要是通過視覺系統獲得有效信息的。而作為圖形圖像最重要屬性之一的顏色,是構成視覺信息的基本要素。人眼對顏色變化的敏感度大大強于對灰度變化的敏感度。沒有顏色,世界將會變得黯淡,無生機。顏色,在人類認知世界的過程中擔任著重要作用。
19 世紀中后期,手工上色的方法非常流行。但是這種方法只能由專業的藝術家或者攝影師來完成,限制非常大?,F在,人們更多地利用計算機來幫助人類處理這方面的需求。著色一詞是由加拿大人 Wilson Markle 于 1970 年提出的一個術語,用于描述利用計算機輔助軟件為只有灰度的圖像和視頻添加顏色的技術。其中“阿波羅”登月計劃中獲得的月球影像著色后的圖片最為著名。通過著色,可以還原、增強或改變圖像的顏色,改善人眼對原始圖像的視覺效果,使觀察者能夠從中獲得更加清晰、便于理解的信息,提高圖像的使用價值。
目前,計算機中的著色技術更多的是使用數字圖像處理著色技術。數字圖像處理著色技術在遙感圖像處理中已有應用,其目的在于使處理圖像中某些內容更加清晰。一幅黑白圖像或者圖形中不明顯的特征經過著色技術處理后可更加容易地分辨出來。數字圖像處理著色技術區別于以往的著色技術是依賴計算機來處理,而不是“手工制作”。此外,數字圖像處理著色技術,特別是簡單而高效的處理方法在醫學領域和工業領域等都有著重要的應用。例如一個圖像在通信過程中,由于某種原因,接收端接收時僅得到了圖像的亮度信息和部分顏色樣本,這時就可以利用數字圖像處理著色技術恢復出完整的彩色圖像。數字圖像處理著色技術還可以應用在圖像壓縮編碼和色彩校正等領域。
1.著色技術分類
1.1 對數據點著色
在圖形顯示中,MATLAB 可以對數據點進行著色,從而使圖形更加美觀、生動。在對數據點進行著色時,MATLAB 有真彩色著色和索引著色兩種處理方法。
(1)RGB 真彩著色采用 RGB 顏色空間,對每一個數據點都需要指定一個 RGB 三元數組,這一 RGB 三元數組為該數據點確定了 RGB 顏色空間中的一種特定顏色。
(2)索引著色則使用了 MATLAB 圖形窗口的顏色表,顏色表是一個 mx3的數組每一行實際上構成了一個 RGB 三元數組,從而確定了一種顏色。在對數據點著色時,以直接索引或映射索引的方式把數據點的 z 值轉換為顏色表索引(即行標),從而確定此數據點顏色為顏色表中該行指定的顏色。
1.2 對圖像著色
在圖像處理中色彩的運用主要出于兩個因素。首先,在自動圖像分析中色彩是一個有力的描繪因子,它通??墒箯囊粋€場景中識別和抽取目標的處理得到簡化。第二,人們對圖像進行分析時,人眼能區別的灰度層次大約只有 20 多種,但卻能夠識別成千上萬中色彩。偽彩色著色技術早期在遙感圖片處理中已有應用,采用的方法是光學方法。這種方法固然有幾何失真小的有點,但其處理速度是極慢的,而且處理一幅照片要較復雜的洗印技術,這樣有時會限制它的應用范圍。
偽彩色數字圖像處理著色技術是一種計算機處理方法。它可以實時處理,而且高精度。在處理結果需要保留時,可有多種方法制作硬拷貝。
例如在遙感及醫學圖像處理中,為了直觀地觀察和分析圖像數據,常采用將灰度圖像映射到彩色空間的方法,突出興趣區域或待分析的數據段,這種顯示方法稱為偽彩色著色處理。偽彩色著色處理是指將灰度圖像轉化為彩色圖像,或者將單色圖像變換成給定彩色分布的圖像。由于人類可以辨別上千種顏色和強度,而相形之下只能辨別二十幾種灰度,所以將灰度圖像轉化成彩色表示,就可以提高對圖像細節的辨別力。因此,偽彩色著色處理的主要目的是為了提高人眼對圖像的細節分辨能力,以達到圖像增強的目的。
2.圖像著色處理
圖像著色處理主要是使用偽彩色著色處理,偽彩色著色處理的基本原理是將灰度圖像或者單色圖像的各個灰度級匹配到彩色空間中的一點,從而使單色圖像映射成彩色圖像。對灰度圖像中不同的灰度級賦予不同的彩色。
偽彩色著色處理也是一種彩色映射過程,其主要目的是增強觀察者對圖像信息的檢測能力。圖像偽彩色著色處理主要有三種技術,以下分別介紹。
2.1 灰度分割
灰度分割和顏色編碼是偽彩色著色處理的最簡單的例子之一?;叶确指罘ㄊ前鸦叶葓D像的灰度級從 l0(黑)到 lk(白)分成 N 個區間 li(i=1,2,…,N),給每個區間 li指定一種彩色 ci,這樣,便可以把一幅灰度圖像變成一幅偽彩色圖像。
灰度分割具體的過程如下:
(1)將圖像描述成一個三維函數作為空間坐標的強度。(2)放置平行于(x,y)坐標面的平面。(3)每一個平面在相交的區域切割圖像函數。
設原始黑白圖像 f(x,y)的灰度范圍為:[0,L],用K+1 個灰度等級把此灰度范圍分為 K 段:L0,L1,L2…Lk。其中 L0=0(黑),Lk=L(白)映射每一段灰度成一種顏色,映射關系為 g(x,y)=Ci這里的 g(x,y)為輸出的偽色彩;Ci為灰度在[Li-1,Li]中時所映射成的彩色。
經過這種映射處理后,原始黑白圖像f(x,y)就變成了偽彩色圖像g(x,y)。若原始圖像f(x,y)的灰度分布遍及上述K個灰度段,則偽彩色圖像g(x,y)就具有K種顏色。
該方法比較簡單、直觀。缺點是變換出的彩色數目有限。在 MATLAB 仿真使用灰度分割法實現圖像著色,效果如圖1 所示,以下為程序代碼:
close all;
clear all;
I=imread\\('moon.tif'\\);
X=grayslice\\(I,16\\);
subplot\\(1,2,1\\),imshow\\(I\\),title\\('原圖像'\\) ;
subplot\\(1,2,2\\),imshow\\(X,hot\\(16\\)\\),title\\('著色后的圖像'\\);
2.2 灰度級轉換為彩色
根據色度學原理,將原圖像 f\\(x,y\\)的灰度范圍分段,經過紅、綠、藍三種不同變換 TR{ }、TG{ }和 TB{ },變成三基色分量 TR{f\\(x,y\\)}、TG{f\\(x,y\\)}、TB{f\\(x,y\\)}。
它的主要方法是將二維數據陣列化到色平面上。這種映射可由下式來表示,即
R\\(x,y\\)=TR{f\\(x,y\\)} (1)
G\\(x,y\\)=TG{f\\(x,y\\)} (2)
B\\(x,y\\)=TB{f\\(x,y\\)} (3)
上式中,R\\(x,y\\)、G\\(x,y\\)和 B\\(x,y\\)是彩色顯示三激勵值;f\\(x,y\\)為處理前圖像的灰度值;TR、TG和 TB是映射算子。所以,變換法的實現過程:對輸入圖像的灰度值實行三種獨立的變換 TR{ }、TG{ }和 TB{ },得到對應的紅綠藍三原色。然后,根據要求場合不同,可以用這三原色量對應的電平值控制圖像顯示器的紅綠藍三色電子槍,得到偽彩色圖像的顯示輸出?;蛘哂萌祵碾娖街底鳛椴噬部截悪C器的三原色輸入,得到偽彩色圖像的硬拷貝?;叶?彩色變換方案圖如圖 2 所示。
在 MATLAB 仿真使用灰度級轉換彩色法實現圖像著色,效果圖如圖 3 所示,以下為程序代碼:
a=imread\\('cameraman.tif'\\);
subplot\\(1,2,1\\),imshow\\(a\\),title\\('原圖像'\\);
c=zeros\\(size\\(a\\)\\);
pos=find\\(a>=0&a<=95\\);
%灰度級在 0 到 95 之間的變為藍色
c\\(pos\\)=a\\(pos\\);
b\\(:,:,3\\)=c;
c=zeros\\(size\\(a\\)\\);
pos=find\\(a>=95&a<=170\\);
%灰度級在 95 到 170 之間的變為綠色
c\\(pos\\)=a\\(pos\\);
b\\(:,:,2\\)=c;
c=zeros\\(size\\(a\\)\\);
pos=find\\(a>=170\\);
%灰度級大于 170 的變為紅色
c\\(pos\\)=a\\(pos\\);
b\\(:,:,1\\)=c;%空間域灰度級-彩色變換
b=uint8\\(b\\);%轉換數據為 8 位無符號整型
subplot\\(1,2,2\\),imshow\\(b,[]\\),title\\('彩色變換后函數'\\);
2.3 頻率域濾波處理
頻率域偽彩色增強的方法是:
把灰度圖像經傅立葉變換到頻率域,在頻率域內用三個不同傳遞特性的濾波器分離成三個獨立分量;然后對它們進行傅立葉反變換,便得到三幅代表不同頻率分量的單色圖像,接著對這三幅圖像作進一步的附加處理(如直方圖均衡化、反轉等)。最后將它們作為三基色分量分別加到彩色顯示器的紅、綠、藍顯示通道,得到一幅彩色圖像。下圖 4是頻率域濾波處理過程的框圖。
3.結束語
數字圖像處理著色技術正逐漸滲透到各行各業,尤其是電影和電視領域也有很大的應用前景。本文重點介紹了幾種圖形圖像著色的技術,這些著色技術都是一種給灰度圖像賦予顏色的過程。數字圖像處理中的著色技術想要大量運用于實際的生活中就必須增強其可用性、實用性。也就是說整個處理過程操作要簡便、準確、效果好,使著色后的圖像清晰,美觀。本文提出的幾種算法還需要在處理效率和效果方面實現更高的處理,才能達到人們的預期效果。
[參考文獻]
[1] 曹茂永,郁道銀. 基于感知顏色空間的灰度圖像偽彩色編碼[J].光學技術,2002,(4).
[2] 金舟,孫濟洲,張怡. 基于顏色融合的交互式圖像二次著色方法[J]. 計算機應用研究,2011,(9).
[3] 馬爽,方建安,孫韶媛,等. 基于偽彩色融合圖像聚類的夜視圖像上色算法[J]. 光學學報,2009,(6).
[4] 李全越,王芳. 偽彩色處理在醫學圖像中的應用[J]. 微計算機信息,2008,(3).