您當前的位置:首頁 > 攝影

數字影象的著色處理概

作者:由 明樂科技889 發表于 攝影時間:2022-05-31

人類經歷了黑白影象到彩色影象的過渡,經歷了黑白電視到彩色電視的過渡。在當今大資料時代的背景下,色彩顯得越來越重要,著色技術也因需求的增長而得到快速的發展。

有研究表明,人在認知事物的過程中主要是透過視覺系統獲得有效資訊的。而作為圖形影象最重要屬性之一的顏色,是構成視覺資訊的基本要素。人眼對顏色變化的敏感度大大強於對灰度變化的敏感度。沒有顏色,世界將會變得黯淡,無生機。顏色,在人類認知世界的過程中擔任著重要作用。

19 世紀中後期,手工上色的方法非常流行。但是這種方法只能由專業的藝術家或者攝影師來完成,限制非常大。現在,人們更多地利用計算機來幫助人類處理這方面的需求。著色一詞是由加拿大人 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 灰度分割

灰度分割和顏色編碼是偽彩色著色處理的最簡單的例子之一。灰度分割法是把灰度影象的灰度級從 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{ },得到對應的紅綠藍三原色。然後,根據要求場合不同,可以用這三原色量對應的電平值控制影象顯示器的紅綠藍三色電子槍,得到偽彩色影象的顯示輸出。或者用三原色值對應的電平值作為彩色硬複製機器的三原色輸入,得到偽彩色影象的硬複製。灰度-彩色變換方案圖如圖 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.結束語

數字影象處理著色技術正逐漸滲透到各行各業,尤其是電影和電視領域也有很大的應用前景。本文重點介紹了幾種圖形影象著色的技術,這些著色技術都是一種給灰度影象賦予顏色的過程。數字影象處理中的著色技術想要大量運用於實際的生活中就必須增強其可用性、實用性。也就是說整個處理過程操作要簡便、準確、效果好,使著色後的影象清晰,美觀。本文提出的幾種演算法還需要在處理效率和效果方面實現更高的處理,才能達到人們的預期效果。

標簽: 著色  影象  灰度  彩色  處理