尹宗天,謝超逸,劉蘇宜,劉新如
(河海大學常州校區 機電工程學院,江蘇 常州 213000)
像素全稱叫做圖像元素,指基本原色素及它的灰度基本編碼[1]。圖像分辨率通常以像素每英寸PPI表示。數字圖像具有連續的灰度色調,即當圖像被放大數倍時,連續的色調由大量的具有類似色小點構成。這些小點就是圖像最小元素——像素[2]。此最小圖形單位一般在屏上顯示為一個單一著色點。像素越高,其顏色板就會越豐富,就越可以表達色感。在單色成像的條件下,像素點的每種顏色都是黑白以及一系列黑白過渡色。灰階用黑色的色調來標記對象,即用黑色作為基色以及不同飽和的黑色表示圖像。每一個灰度對象具有0%-100%的亮度值(即白色到黑色)。通常,使用字節(8b)對像素值進行量化。如果灰度值連續變化被量化為256灰度級,灰度值的范圍為0~255[3],表明亮度從深到淺,圖像中的顏色由黑色變為白色。灰度圖像與黑白圖像不同。計算機的圖像領域中,黑白圖像只存在黑與白兩色。灰度圖像中的每一個像素值都是介于黑、白之間的256個顏色的深度不同灰度中。
本文主要研究了視野在靠近物體的直線方向上運動。利用放大轉制法[4]。由凸透鏡成像原理可知相機鏡頭離物體越近,其物像所包括的實物信息也就越多。把靠近放大后的物像信息通過導入更大的矩陣,再將矩陣轉制為比第一幀物像更清晰的圖像。放大比例越高,物像轉制后越清晰。經過模型的建立,我們得出了最終模擬結果,分辨率達到了576×1152,細節相似度達到了85%以上。
由凸透鏡成像原理(圖 1)可知,在物體到凸透鏡鏡心距離大于凸透鏡焦距條件下,物體到凸透鏡鏡心距離越小,其所成實像就越大。我們用三維軟件畫出了相機凸透鏡成像的模擬圖(圖2、圖3):

圖1 凸透鏡成像示意圖[5]Fig.1 Schematic diagram of convex lens imaging[5]

圖2 遠處成像Fig.2 Remote imaging

圖3 近處成像Fig.3 Near imaging
相機鏡頭就是一個凸透鏡。因為相機拍出照片像素是一定的,根據以上原理可知,相機的鏡頭與物體距離越校,所形成的物像越大,其物像所包括的實物信息也就越多。我們由此設計了一套放大轉制法。在黑色背景下拍完第一幀照片后,使相機不斷徑直靠近物體持續拍攝,我們可以通過以下步驟提高物像清晰度(放大比n盡可能取大于1的正整數):
由于現實情況下拍攝誤差較大,我們在Photoshop軟件中對物體成像進行模擬,以3200×6400像素的高清圖像(圖5)作為實物體。

圖4 流程圖Fig.4 Flow chart

圖5 實物的高清圖像Fig.5 HD image of a physical object

圖6 第一幀物像Fig.6 Image of the first frame
我們假定視野中只有一個物體且物體在放大時始終完整的呈現在視野中,當物體為如圖6的一個白色圓時,第一次取n=2,所以通過MATLAB程序建立一個64×128的全零矩陣(即像素64×128的全黑圖像,該全值矩陣的值由背景灰度值決定)。再在之后連續拍攝的多幀圖像中找出物像與第一幀中物像相似比 2:1的一張圖,這張圖中物像所能反映實物體 的信息量比第一幀圖更多。然后將其轉化為32×64的矩陣后導入 64×128的全零矩陣。最后將64×128矩陣化為圖像(即像素為64×128),并將其大小縮放到和32×64像素的圖像一樣大,這樣我們可明顯觀察到更為清晰的物像。圖7為Matlab的圖像像素提高的轉制過程。
同理,當放大比 n=4時,我們要在 MATLAB中建全零矩陣大小為 128×256,并相應地 在拍攝的多幀圖像中找出與第一幀物像相似比4:1的物像,導入全零矩陣轉制,最終效果如圖8所示。
將兩次放大轉制后的圖像與第一幀圖像進行局部放大對比,如圖9所示。
可見隨著放大比n不斷增大,圖像像素也不斷提高,物像所能反映的實體的真實信息就會越來越多,也就是說物像能不斷向實物接近。
在模型的第一次模擬中,為了使像素灰度值之間的過渡變得“圓滑”,我們采用了局部二值化處理即手動的灰度值調整[5]。用MATLAB的程序,對實物的圖像加以局部二值化處理,如圖10所示。
缺點:每次增加模擬次數時需要手動微調二值化的最小灰度值和最大灰度值,以達到顯示圖像細節的目的。
改進:采用OpenCV基于局部自適應閾值的圖像二值化[6]。
較為經常使用的圖像二值化的辦法有 3種:(1)全局固定閾值;(2)局部自適應閾值;(3)Otsu。
全局固定閾值是指具有統一閾值的整體圖像的兩值,且局部自適應閾值根據像素鄰域塊之像素值的分布,從而確定在像素的位置上的2個閾值。這種做法的好處是,在每個像素位置的2個閾值不是固定的,而是通過它的相鄰像素分布來決定。具有不同的對比度、亮度和紋理局部圖像區,將具有相應的局部二閾值閾值[7]。

圖9 放大轉制后的物像的局部放大對比(左、中、右分別為第一幀圖、 放大轉制2倍圖及4倍圖)Fig.9 Partial enlargement and comparison of objects after enlargement(left, middle, and right are the first frame, 2 times and 4 times)

圖10 進行局部二值化處理的實物圖像(左為處理前,右為處理后)Fig.10 Physical image after local binarization process (left before processing, and right after processing)
最為常用的局部自適應閾值是:(1)局部鄰域塊平均值;(2)局部鄰域塊高斯加權和[8-11]。
下面這段OpenCV代碼比較了局部自適應閾值及二值全局固定閾值的結果,實現了上述二值化方法。對比結果見圖11。
1. // 基于局部自適應閾值的圖像二值化
2. // Author:www.icvpr.com
3. // Blog: http://blog.csdn.net/icvpr
4.
5. #include
6. #include
7. int main(int argc, char** argv)
8. {
9. cv::Mat image = cv::imread("../test.bmp",CV_LOAD_IMAGE_GRAYSCALE);
10. if (image.empty())
11. {
12. std::cout<<"read image failure"< 13. return -1; 14. } 15. 16. // 全局二值化 17. int th = 100; 18. cv::Mat global; 19. cv::threshold(image, global, th, 255,CV_THRESH_BINARY_INV); 20. // 局部二值化 21. 22. int blockSize = 25; 23. int constValue = 10; 24. cv::Mat local; 25. cv::adaptiveThreshold(image, local, 255,CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY_INV, blockSize, constValue); 26. 27. cv::imwrite("global.jpg", global); 28. cv::imwrite("local.jpg", local); 29. 30. cv::imshow("globalThreshold",global); 31. cv::imshow("localThreshold", local); 32. cv::waitKey(0); 33. 34. return 0; 35. } 圖11 全局固定閾值與局部自適應閾值的二值化結果對比(左、中、右分別為原圖,全局固定閾值T=100,局部自適應閾值塊大小=25)Fig.11 Comparison of binaryzation results between global fixed threshold and local adaptive threshold(left, middle and right are original image, global fixed threshold T=100, local adaptive threshold block size =25) 通過對比可以看出,局部自適應閾值二值化對灰度值差異較大的圖片整合的能力及其實用性。 [1] 康寅, 楊文川. 圖像表示及在檢索系統中的應用[J]. 軟件,2011, 32(1): 38-41. [2] 北京大學. 遙感資料集[M]. 北京大學遙感所, 1985. [3] 張君, 周衛平, 舒華忠. 基于多分辨率的水表用戶碼定位與識別[J]. 軟件, 2013, 34(3): 131-133+153. [4] 胡宗進, 范文強, 于光玉, 等. 基于OpenCV的自適應閾值圖像前景提取[J]. 光電技術應用, 2017, 32(1): 56-59. [5] 王明毅, 郭明昊, 俎敏敏, 等. 一種基于BP神經網絡的低分辨率圖像復原方法(英文)[J]. 農業科學與技術: 英文版,2017, 18(4): 687-690. [6] Author:www.icvpr.com, OpenCV基于局部自適應閾值的圖像二值化, http://blog.csdn.net/icvpr/article/details/8515596. [7] 吳煒, 楊曉敏, 卿粼波, 等. 基于馬爾可夫隨機場的低分辨率車牌圖像復原算法[J]. 計算機應用研究, 2010, 27(3):1170-1172. [8] 計岑. 低分辨率散焦模糊圖像的超分辨率重建復原方法[C].國際廣播電視技術討論會. 2013. [9] 付亞偉, 魏鏡弢, 趙明. 多幀超分辨率圖像重建迭代小波算法研究[J]. 價值工程, 2018, 37(1): 214-215. [10] 葛蕓, 江順亮, 葉發茂, 等. 基于ImageNet預訓練卷積神經網絡的遙感圖像檢索[J]. 武漢大學學報(信息科學版),2018, 43(1): 67-73. [11] 龍法寧, 朱曉姝, 胡春嬌. 基于深層卷積網絡的單幅圖像超分辨率重建模型[J]. 廣西科學, 2017, 24(3): 231-235.
4 結論