文/常文娟
(上海圖書館(上海科學(xué)技術(shù)情報(bào)研究所) 上海市 200023)
Python 語言是一種解釋型高級程序語言,支持面向?qū)ο缶幊淘O(shè)計(jì),能夠處理動態(tài)數(shù)據(jù)類型,目前已經(jīng)研發(fā)出第三方程序數(shù)據(jù)庫和實(shí)用性較強(qiáng)的應(yīng)用工具,由于其語法簡潔、類庫豐富,已經(jīng)成為當(dāng)下較為流行的一種腳本語言。在采用Python 語言進(jìn)行編程時,不需要考慮內(nèi)存占用等底層的細(xì)節(jié)問題,能夠有效提升編程效率。而且Python 語言具有良好的一致性,可以在多種平臺上移植,其本身也屬于開源代碼,在程序解釋執(zhí)行過程中,可以直接從源代碼中運(yùn)行。這些特點(diǎn)都為Python 語言的廣泛應(yīng)用奠定了基礎(chǔ)。Python語言具有強(qiáng)大的數(shù)據(jù)分析功能,可以應(yīng)用到網(wǎng)站開發(fā)、圖像處理、數(shù)據(jù)統(tǒng)計(jì)和可視化表達(dá)等多個領(lǐng)域。[1]本文使用的類庫和程序均基于Python 3.7 版本。
在數(shù)字圖像處理中,針對不同的圖像格式有其特定的處理算法。所以,在做圖像處理之前,我們需要考慮清楚自己要基于哪種格式的圖像進(jìn)行算法設(shè)計(jì)及其實(shí)現(xiàn),本文主要針對.tif 和.jpg 圖像格式進(jìn)行數(shù)字化信息處理。
1.2.1 NumPy
NumPy 類庫是Python 語言中的科學(xué)計(jì)算基礎(chǔ)包。通過利用該類庫,能夠快速完成數(shù)據(jù)分析過程中的科學(xué)計(jì)算任務(wù),也可以被作為多維數(shù)據(jù)容器,用于存儲大型矩陣,并對其進(jìn)行計(jì)算處理。在NumPy 類庫中包含多維數(shù)據(jù)組對象ndarray,可以數(shù)組進(jìn)行元數(shù)級計(jì)算,并直接執(zhí)行函數(shù)運(yùn)算。該類庫還具有線性代數(shù)計(jì)算、隨機(jī)數(shù)生成、傅里葉變換等功能,可以將C 語言等多種語言代碼集成到Python 語言中,并作為算法間數(shù)據(jù)傳遞的容器。
1.2.2 Pillow
PIL(Python Imaging Library)是Python 平臺上的圖像處理標(biāo)準(zhǔn)庫,但是僅支持到Python 2.7,而Pillow 是PIL 的一個派生分支,支持最新Python 3.X,又加入了許多新特性,可以通過簡單的代碼完成復(fù)雜的圖像處理,如今已經(jīng)發(fā)展成為比PIL 本身更具活力的圖像處理庫。
PIL(Pillow)庫可以完成圖像歸檔和圖像處理兩方面功能需求:
(1)圖像歸檔:對圖像進(jìn)行批處理、生成圖像預(yù)覽、圖像格式轉(zhuǎn)換等;
(2)圖像處理:圖像基本處理、像素處理、顏色處理等。
民國報(bào)刊作為近代資料中的重要一環(huán),在內(nèi)容上相對客觀、準(zhǔn)確,在長期積累中形成完整系統(tǒng)的史料,已經(jīng)成為近代資料專藏的主體之一,由于時代變遷,加之歷史原因的戰(zhàn)亂等影響,幸存下來的老報(bào)刊數(shù)量多、查詢難、易損壞,都面臨著遺失或者損壞的風(fēng)險(xiǎn),從保護(hù)歷史文化、搶救珍貴文獻(xiàn)的角度來說,民國報(bào)刊的數(shù)字化有著十分重要而緊迫的意義。
報(bào)刊的文獻(xiàn)載體形態(tài)有紙質(zhì)和縮微膠片兩種,采用微縮膠片進(jìn)行數(shù)字化制作比原報(bào)掃描要快速且價(jià)格低廉,但是從實(shí)際數(shù)字化后的圖像質(zhì)量來看,微縮膠片復(fù)制的圖像質(zhì)量差于原報(bào)掃描圖像質(zhì)量,在原件印刷質(zhì)量較差的文獻(xiàn)上表現(xiàn)得尤為明顯。
根據(jù)中華人民共和國文化部發(fā)布的行業(yè)標(biāo)準(zhǔn)《WH/T46-2012 圖像數(shù)據(jù)加工規(guī)范》要求,報(bào)紙數(shù)字化掃描標(biāo)準(zhǔn)具體內(nèi)容見表1。考慮到數(shù)據(jù)質(zhì)量以及未來靈活轉(zhuǎn)換,建議存檔文件選取色彩為24 位彩色。[2]
本文重點(diǎn)對TIFF 和JPG 格式文件進(jìn)行數(shù)字化信息處理。
2.2.1 TIFF 格式文件
標(biāo)簽圖像文件格式(中文簡稱TIF、外語簡稱TIFF、外語全稱:TagImage FileFormat)文件以.tif 為擴(kuò)展名,TIFF 格式靈活易變,支持24 個通道,并可與"3DS"交換文件。它定義了四類不同的格式,其中TIFF-R 適用于RGB 真彩圖像,RGB 彩色圖像的真彩色、假彩色區(qū)別如下:
(1)R 原色對應(yīng)TM3 波段、G 原色對應(yīng)TM2 波段、B 原色對應(yīng)TM1 波段,合成得到真彩色影像。本文數(shù)字化信息處理的圖像顏色為truecolor。
(2)R 原色對應(yīng)TM4 波段、G 原色對應(yīng)TM3 波段、B 原色對應(yīng)TM2 波段,合成得到標(biāo)準(zhǔn)假彩色影像。
(3)R 原色對應(yīng)TM7 波段、G 原色對應(yīng)TM5 波段、B 原色對應(yīng)TM2 波段,合成得到其它假彩色影像。
Tif 文件數(shù)據(jù)格式是一種3 級體系結(jié)構(gòu),Ti 內(nèi)部結(jié)構(gòu)可以分成三個部分,分別是:文件頭信息區(qū)、標(biāo)識信息區(qū)和圖像數(shù)據(jù)區(qū)。其中所有的標(biāo)簽都是以升序排列,這些標(biāo)簽信息是用來處理文件中的圖像信息的。[3]因此在圖像數(shù)字化信息制作中,常用.tif 作為原報(bào)紙圖像掃描數(shù)據(jù)的存儲級文件格式。
印刷技術(shù)的當(dāng)中的RGB 色彩空間主要是指加色法當(dāng)中的三度色彩空間,通過使用不同強(qiáng)度的三原色,紅、綠、藍(lán)色的光線來組合成不同的色彩,利用掃描儀從印刷品上掃描圖像,原理就是掃描儀閱讀了圖像上面的紅、綠、藍(lán)三色的光亮度,然后把這些量度轉(zhuǎn)換成數(shù)據(jù),當(dāng)顯示器收到這些數(shù)據(jù)的時候就可以按照程序設(shè)定轉(zhuǎn)換成制定的紅、綠、藍(lán)三原色。[4]
.tif 格式的圖片與常見的RGB 三通道圖像不同,還可能包含如近紅外、中紅外、遠(yuǎn)紅外以及熱紅外光譜信息,除了能存unit8 的圖像數(shù)據(jù),還會有float32 等數(shù)據(jù)類型,所以在處理.tif 格式數(shù)據(jù)時,用OpenCV 等庫無法解析,需要使用PIL(Pillow),它不僅能很好的讀取.tif 格式的數(shù)據(jù),還封裝好了許多很實(shí)用的函數(shù),在對圖像進(jìn)行增廣的時候直接調(diào)用函數(shù)即可。
2.2.2 JPEG 文件
聯(lián)合照片專家組(外語簡稱JPEG 外語全稱:Joint Photographic Expert Group)JPEG 也是最常見的一種圖像格式,JPEG 文件以".jpg"或".jpeg"為擴(kuò)展名,是一種有損壓縮格式,能夠?qū)D像壓縮在很小的儲存空間,圖像中重復(fù)或不重要的資料會被丟失,因此容易造成圖像數(shù)據(jù)的損傷。

表1:民國報(bào)紙資源掃描標(biāo)準(zhǔn)
2.2.3 對比總結(jié)
TIF 格式是一種壓縮最小的圖片處理格式,基本不損失圖像信息,可以最大限度保留老報(bào)刊掃描圖像的所有信息,但其缺陷就是文件體積太大,在數(shù)字化制作后期索引平臺數(shù)據(jù)瀏覽加載的時長過長。而JPEG 是一種壓縮比比較大的圖片格式,圖片以JPEG 格式保存以后,會損失掉不少圖片信息,但其好處就是圖片體積小,加載信息速度比較快,在數(shù)字化信息處理后的平臺數(shù)據(jù)展示、查詢方便快捷。因此在民國報(bào)刊數(shù)字化信息處理中,會同時保存TIF/JPEG 兩種格式。
TIF 官方指定的有5 種數(shù)據(jù)類型:type=1 就是BYTE 類型;type=2 是ASCII 類型(7 位ASCII 碼+1 位二進(jìn)制0);type=3 是SHORT 類型(16 位無標(biāo)記整數(shù));type=4 是LONG 類型(32 位無標(biāo)記整數(shù));type=5 是RATIONAL 類型(2 個LONG,第一個是分子,第二個是分母)。本文處理的圖像文件為ASCII 類型。樣本圖像信息如圖1 所示。
民國報(bào)刊原報(bào)紙由于年代久遠(yuǎn),部分報(bào)紙有破損、發(fā)黃、折痕等影響信息的因素,圖像文件也可能有掃描紙本時傾斜或者倒置等問題,會影響后續(xù)篇名信息著錄制作等信息化處理過程,因此本文的數(shù)字化信息處理主要針對圖像文件進(jìn)行色調(diào)增強(qiáng)、圖像或標(biāo)簽進(jìn)行旋轉(zhuǎn)等處理。