原玉磊,席 靚,鄭 勇
(1.解放軍信息工程大學測繪學院,鄭州 450052;2.海軍航空工程學院科研部,山東 煙臺 264001)
A/D轉(zhuǎn)換位數(shù)是CCD相機一個重要的指標。A/D轉(zhuǎn)換位數(shù)(bit)的多少直接影響到影像質(zhì)量。A/D轉(zhuǎn)換器的數(shù)位越多,采樣精度就越高,D/A 還原后的信號失真就越小;同時,A/D轉(zhuǎn)換位數(shù)越高,灰度或色彩數(shù)量越多,影像的層次就越豐富。目前,民用CCD的A/D轉(zhuǎn)換位數(shù)一般為8位,但高級的也達到了12位,而科學級CCD的A/D轉(zhuǎn)換位數(shù)一般為16位甚至更高[1-2]。
雖然科學級CCD圖像的位數(shù)已經(jīng)達到了16位,但是我們一般在Windows 上編程顯示獲取或處理后的圖像都是8位的[3],因而需要將16位圖像轉(zhuǎn)換到8位圖像。本文對此進行了探索和研究,介紹了2種可行的轉(zhuǎn)換方法,并通過實際圖像處理分析了這2種方法的適用性,針對16位圖像中有效信息區(qū)間確定的問題,提出了基于直方圖的確定算法,并通過對科學級CCD Alta U9000圖像的研究,證明了該算法的有效性。
將16位圖像數(shù)據(jù)轉(zhuǎn)換為8位圖像數(shù)據(jù),最簡單的方法就是直接轉(zhuǎn)換法。其思路是將16位圖像的直方圖壓縮為8位圖像的直方圖,如圖1所示。
圖1 直接轉(zhuǎn)換法
具體實現(xiàn)上,可以將16位圖像數(shù)據(jù)的灰度值直接除以28,以將其轉(zhuǎn)換到8位圖像的灰度區(qū)間中,其計算公式為
式(1)中:G(i,j)為16位圖像中i行、j列的像素的灰度值;g(i,j)為轉(zhuǎn)換后的8位圖像中i行、j列的像素的灰度值。
直接轉(zhuǎn)換法簡單,容易實現(xiàn),但沒有考慮不同圖像的特殊性。當圖像的有效信息充滿整個16位的灰度區(qū)間時,采用直接轉(zhuǎn)換法只是對圖像的灰度層級壓縮,并沒有損害圖像整體的對比度。但當圖像的有效信息為16位灰度區(qū)間中很小一段的時候,采用直接轉(zhuǎn)換法將會極大地損害圖像的對比度,致使圖像失真。特別地,當16位圖像中有效信息的灰度層級小于256的時候,采用直接轉(zhuǎn)換法轉(zhuǎn)換圖像,將使得轉(zhuǎn)換后的圖像有效信息的灰度級為1個或2個。這時,圖像只有一種灰度,以致完全失真。而且,這種情況下,轉(zhuǎn)換后的圖像其大部分的灰度層級都留給了原始16位圖像中的無效信息,造成了灰度層級的大量浪費。
為避免直接轉(zhuǎn)換法的缺點,本文提出區(qū)間轉(zhuǎn)換法。即將原始16位圖像中的有效信息區(qū)間轉(zhuǎn)換到8位圖像的灰度層級中,而將原始圖像中的無效信息刪除掉,思路如圖2所示。
圖2 區(qū)間轉(zhuǎn)換法
當已知原始圖像的有效信息區(qū)間時,將該區(qū)間的下限及以下的灰度值全部賦值0,將該區(qū)間的上限及以上的灰度值全部賦值為255,然后將該有效信息區(qū)間內(nèi)的灰度值線性地縮放到8位圖像的灰度層級中,其計算公式為:
式(2)中:Gmin為有效信息區(qū)間的下限灰度值;Gmax為有效信息區(qū)間的上限灰度值。
以我們拍攝的一幅星空圖像為例,由于目標點光強很弱,且不同星點間的光線在CCD 上成像的亮度相差不大,星空圖像有效信息的灰度非常接近,所占的灰度區(qū)間很小。星空圖像的灰度直方圖如圖3a)所示,幾乎為一條豎直的線。
圖316 位星空圖像的直方圖
分析圖3a),其有效信息大部分在1 300的灰度級左右[4-5]。因此,將該直方圖中1 100到1 500的灰度區(qū)間單獨拿出來,如圖3b)所示。
從這里可以看出,該星圖有效信息的灰度區(qū)間為1 230到1 350,其他的均為無效信息。因此,轉(zhuǎn)換中,只使用該區(qū)間內(nèi)的信息即可。
為了比較直接轉(zhuǎn)換法與區(qū)間轉(zhuǎn)換法,分別用式(1)、(2)計算轉(zhuǎn)換后8位圖像的像素灰度,轉(zhuǎn)換后的8位圖像如圖4所示。其中,圖4a)為采用直接轉(zhuǎn)換法的轉(zhuǎn)換圖像,圖4b)為采用區(qū)間轉(zhuǎn)換法轉(zhuǎn)換的圖像,采取的轉(zhuǎn)換區(qū)間為灰度級1 230到1 350。
圖4 轉(zhuǎn)換后的8位星空圖像
由圖4可以看出,經(jīng)過直接轉(zhuǎn)換法轉(zhuǎn)換后的8位圖像大部分是全黑的,幾乎沒有任何有效信息;而經(jīng)過設置區(qū)間為1 230到1 350的區(qū)間轉(zhuǎn)換法轉(zhuǎn)換后,圖像保留了清晰的星點信息。
分析上面2種方法轉(zhuǎn)換后的8位圖像的灰度直方圖,如圖5所示。其中,圖5a)為直接轉(zhuǎn)換法轉(zhuǎn)換的圖像的直方圖,圖5b)為區(qū)間轉(zhuǎn)換法轉(zhuǎn)換后圖像的直方圖。通過與圖3的比較,直接轉(zhuǎn)換法轉(zhuǎn)換后圖像灰度值大部分被壓縮在10以內(nèi),而區(qū)間轉(zhuǎn)換法轉(zhuǎn)換后圖像的直方圖基本保留了原始圖像的灰度信息。其中,中間部分橫坐標上的點是由于選擇的有效信息區(qū)間小于256,致使在部分灰度級上像素個數(shù)為0,使得對應的直方圖上的點落到了橫坐標上。
圖5 轉(zhuǎn)換后8位圖像的直方圖
區(qū)間轉(zhuǎn)換法的關(guān)鍵是確定轉(zhuǎn)換的區(qū)間,即16位原始圖像有效信息的灰度區(qū)間。對于不同的圖像,該轉(zhuǎn)換區(qū)間也應不同。因而有必要設計一種根據(jù)不同圖像自動尋找該轉(zhuǎn)換區(qū)間的算法。
考慮到圖像的無效信息都是出現(xiàn)在直方圖的兩端,即灰度層級較高和較低的部分,而這部分灰度級對應的像素個數(shù)很少,因而可以通過分析直方圖來確定有效信息區(qū)間。一種可行的方法是,分別從直方圖的兩端開始搜索,直到搜索到像素個數(shù)達到一定值的灰度級,則從最高級灰度開始的搜索的灰度級即為有效區(qū)間的上限,從最低灰度開始的搜索的灰度級即為有效區(qū)間的下限??紤]到原始圖像的灰度直方圖是連續(xù)的,則有
式(3)中:H (gmin)為原始圖像中灰度值為gmin的像素的個數(shù);N為一個給定的值,用于過濾無用信息的像素個數(shù)。
如何確定式(3)中的N?在理論上,灰度值在無效信息區(qū)間內(nèi)的像素的個數(shù)應該為0,因而N可以設置為1。但實際上由于噪聲點的存在,灰度值在無效信息區(qū)間內(nèi)的像素的個數(shù)并不為0。而不同的CCD、不同的曝光時間,獲取圖像中的噪聲點個數(shù)也不同,因而N的值要視CCD的噪聲特性和圖像的曝光時間而定[6-7]。
在這里,我們分析了Alta U9000相機的噪聲特性。為了計算噪聲點的個數(shù),在關(guān)閉快門的情況下,獲取不同曝光時間的圖像數(shù)據(jù)[8-10]。由于輸入光強為0,因而圖像數(shù)據(jù)均為噪聲數(shù)據(jù)。計算不同曝光時間下,不同灰度值的噪聲點的個數(shù),如圖6所示。
圖6 不同曝光時間U9000圖像不同大小噪聲點的個數(shù)
圖6a)為灰度值在3 000到5 000和5 000以上的像素的個數(shù),圖6b)為灰度值在1 500到2 000和2 000到3 000的像素個數(shù)。當曝光時間達到26 s的時候,灰度值在3 000以上的像素個數(shù)仍不超過250個,而灰度值在1 500~2 000的像素個數(shù)則急劇增加。
對于上面處理中用到的星空圖像,其曝光時間為2 s,因而灰度值1 500以上的噪聲點的個數(shù)不超過200。但考慮到實際成像時,由于有光線輸入,因而相同灰度級的噪聲點個數(shù)會大大增加,故N的取值應大于200,但不宜太大,這里取為500。根據(jù)式(3)可以計算有效信息區(qū)間的上限為1 330,下限為1 250,與圖3對比可知,該區(qū)間是比較準確的。
關(guān)于16位圖像到8位圖像的轉(zhuǎn)換,本文介紹了2種方法:直接轉(zhuǎn)換法和區(qū)間轉(zhuǎn)換法。直接轉(zhuǎn)換法比較簡單,容易實現(xiàn),但是并沒有考慮到原始圖像中的無效信息,當原始圖像中無效信息較少的時候,可以應用直接轉(zhuǎn)換法。
當原始圖像中的無效信息較多時,為了更充分地利用8位圖像有限的灰度層級,應該使用區(qū)間轉(zhuǎn)換法。該方法剔除了原始圖像中的無效信息,保留了有效信息,盡可能使轉(zhuǎn)換后的圖像保持原始圖像的信息和對比度。實驗證明,當原始圖像中的有效信息區(qū)間較小時,該方法明顯好于直接轉(zhuǎn)換法。
根據(jù)原始圖像的特點,本文給出了一種確定原始圖像中有效信息區(qū)間的方法。該方法的使用同圖像中亮噪聲點的個數(shù)密切相關(guān)。為此,通過實驗測試了科學級CCD Alta U9000相機在關(guān)閉快門的情況下,不同曝光時間的圖像中各種亮度噪聲點的個數(shù)。并根據(jù)測試結(jié)果計算用U9000 拍攝的星空圖像的有效信息區(qū)間,通過與原始圖像直方圖的對比,證明計算的有效信息區(qū)間是正確的。
[1]米本和也.CCD/CMOS圖像傳感器基礎與應用[M].北京:科學出版社,2006:14-17.
[2]DENNIS DI CICCO.Apogee’s Alta U9000 CCD camera[J].Sky &Telescope,2007,23(7):109-110.
[3]何斌,馬天予,王運堅,等.Visual C++數(shù)字圖像處理[M].北京:人民郵電出版社,2001:6-14.
[4]原玉磊,席靚,張文郎.星點圖像的目標提取算法研究[J].海軍航空工程學院學報,2010,25(6):649-652.
[5]APOGEE.Apogee Alta U9000 high light[EB/OL].[2007-07-01].http://www.Apogee.com.
[6]原玉磊,朱永興,鄒亮,等.CCD圖像星點質(zhì)心不同提取算法的應用分析[C]//2010年測繪學院第五屆博士生學術(shù)論壇論文集.鄭州:信息工程大學,2010:108-111.
[7]APOGEE.Apogee instruments COM API specification[EB/OL].[2007-04-01].http://www.Apogee.com.
[8]王書宏,胡謀法,陳曾平.天文CCD相機的噪聲分析與信噪比模型的研究[J].半導體光電,2007,28(8):731-734.
[9]韓采芹,李華,朱順一,等.不同光照條件下CCD相機時間噪聲和空間噪聲的研究[J].應用光學,2008,29(2):207-210.
[10]丁曉華,李由,于起峰,等.CCD 噪聲標定及其在邊緣定位中的應用[J].光學學報,2008,28(1):100-104.