999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Mask方法的航空影像快速勻光處理

2021-06-24 03:05:24邢耀文李天鶴
山西建筑 2021年13期

邢耀文 李天鶴

(山東省國土測繪院,山東 濟南 250102)

0 引言

隨著我國城市化進程的發展與地理信息技術的不斷進步,在城市建設、土地規劃、農林檢測、生活生產等各個領域對航空影像的現勢性及實用性的要求越來越高。像片照度作為判讀地物的關鍵參數,應在航空影像獲取后第一時間進行檢查與處理。在現有航空攝影工作中,通常因為影像獲取時間、天氣狀況、地表反射情況或其他相關因素影響,極易出現單幅影像內部、區域范圍內多幅影像色彩、照度不平衡情況[1],影響后續航空影像的內業處理(如影像分類解譯、數字正射影像圖制作、三維模型構建等)[2]。由于目前航空攝影工作普遍存在單張影像像幅大、像片數量多等特點,因而解決大量影像的批量快速勻光成為航空影像預處理的重要內容。

本研究選取目前單張像片勻光中最常用的Mask方法,通過探討其勻光原理與流程,基于Python語言簡單高效且擴展能力強的特點,結合第三方數據庫OpenCV在圖像分析與處理方面的強大功能模擬實現利用Mask方法對航空像片勻光的批量快速處理,為大量航空影像的快速勻光處理提供了新的解決方案。

1 Python語言

Python語言是一種解釋型計算機程序腳本語言,由Guido van Rossum在1991年創造[3]。相對于其他計算機語言,Python語句結構簡單、語法定義明確、代碼定義清晰,便于學習、閱讀和維護;因為開放源代碼,Python具有豐富且強大的第三方庫,在Linux,Windows等平臺上兼容性都較好;Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言相比,Python以一種非常強大又簡單的方式實現面向對象編程。基于以上特點與優勢,Python目前在圖像解譯、科學計算、數據挖掘、人工智能等眾多領域應用廣泛[4]。

2 OpenCV數據庫

OpenCV(Open Source Computer Vision Library)于1999年由Gary Bradsky在英特爾創立,是一個基于開源發行的跨平臺計算機視覺庫,第一個版本于2000年問世,目前已可以運行在Linux,Windows,Android和Mac OS操作系統上。它由一系列C函數和少量C++類構成,具有C++,Python,Java和MATLAB接口,有超過500種算法和大約10倍組成或支持這些算法的函數。OpenCV實現了圖像處理和計算機視覺方面的很多通用算法,已成為計算機視覺領域最有力的研究工具[5]。

OpenCV由cv(核心函數庫)、cvaux(輔助函數庫)、cxcore(數據結構與線性代數庫)、highgui(GUI函數庫)、ml(機器學習函數庫)等模塊構成,主要用于解決圖像數據操作、圖像/視頻的輸入輸出、矩陣/向量數據操作及線性代數運算、基本圖像處理、結構分析、目標識別、圖像標注等功能。

3 Mask勻光算法

Mask勻光法是基于傳統光學像片的曬印方法而提出的[6]。其原理是選擇一張稱為Mask的密度或色彩隨位置緩慢變化的模糊的透明薄膜作為正片[7],與原始像片(稱為負片)按輪廓線疊加進行曬像獲得一張色彩密度較為均勻的像片,隨后進行曬印以增強像片總體反差。Mask勻光法的特點是消減影像中的大反差而增強影像中的小反差,從而使整張影像照度與色彩趨于一致[8]。Mask勻光法常用于單幅影像的勻光處理,具有較強的適應性,是目前應用最多的勻光方法。Mask勻光法的數學模型可表示為:

I′(x,y)=Ist(x,y)+Ibg(x,y)

(1)

其中,I′(x,y)為原始影像;Ist(x,y)為照度均勻的理想影像;Ibg(x,y)為背景影像。通常根據Mask勻光法獲取亮度均勻的理想影像的方法是將原始影像采用高斯低通濾波方法過濾掉其中的高頻分量即原始影像中亮度變化較為強烈的部分得到背景影像,兩者相減獲得剔除了高頻信息的光照分布均勻的圖像,同時為了保證圖像細節不丟失且勻光前后圖像亮度的一致性[9],將上面模型進行如下修改:

Ist(x,y)=I′(x,y)-I′(x,y)×G(x,y)+offset

(2)

其中,G(x,y)為高斯低通濾波器;offset為原始影像灰度均值的偏移量。

4 航空影像進行勻光處理試驗分析

4.1 數據分析

試驗數據為山東省某縣級市地面分辨率為15 cm的SWDC-4航攝儀獲取的影像共1 000張,其單張像幅為970 Mb,航攝期間,攝區天氣良好、飛行穩定、航攝儀工作正常。但由于航攝區域有大量易反光地物如建成建筑、河流等,因而存在大量的樓頂及水體反光問題需進行勻光處理。

4.2 應用原理

利用Mask方法進行勻光處理的關鍵是獲取背景影像[10]。背景影像由原始影像經高斯低通濾波獲取。由于背景影像為一張亮度隨位置變化的灰度圖,對影像地物細節的要求并不高,為提高處理速度,可對原始影像進行重采樣降低分辨率作為制作背景影像的模板;針對高斯低通濾波器在圖像頻率譜中的良好應用效果,需要對重采樣影像進行傅里葉變換,獲得影像在頻率域中的高斯低通濾波表達形式H(μ,υ)=e-D2(μ,v)/2σ2,其中,D(μ,v)為頻率域原點到點(μ,v)的距離;σ為高斯模糊半徑,決定了高斯低通濾波器的勻光強度。對濾波后的影像頻率譜進行傅里葉逆變換得到空間域影像;根據原始影像尺寸對經過低通濾波的低分辨率影像進行重采樣獲得與原始影像可疊加的背景影像,將原始影像與背景影像進行相減處理,并加上原始影像灰度均值偏移量保證影像細節即得到最終的勻光后影像。其處理流程如圖1所示。

4.3 功能實現

利用Python語言的便捷高效特點及OpenCV庫對圖像強大的分析處理功能,可以將Mask勻光法批量應用于影像的快速勻光處理,以下提供了部分關鍵步驟的核心代碼:

1)影像重采樣功能。

Img_0001=cv2.imread(r"D:TestDataImg0001.tif",0)

Img_0001=cv2.resize(Img0001,(int(y/2),int(x/2)))

通過OpenCV庫的cv2.resize()函數可以實現圖像不同程度的重采樣功能。

2)影像傅里葉變換。

Img_f0001=cv2.imread(r"D:TestDataImg0001.tif",0)

dft=cv2.dft(np.float32(Img_f0001),flags=cv2.DFT_COMPLEX_OUTPUT)

dft_shift=numpy.fft.fftshift(dft)

OpenCV庫中的cv2.dft()方法接受一個灰度格式的圖像參數,對其進行頻譜轉換,輸出一個0頻率在圖像左上角的頻譜數組,為方便濾波分析,利用numpy模塊的fftshift()函數將其0頻率轉換到影像中心位置。

3)高斯低通濾波。

rows,cols=Img_f0001.shape

crow,ccol=int(rows/2),int(cols/2)

mask=numpy.zeros((rows,cols,2),numpy.uint8)

mask[crow-20:crow+20,ccol-20:ccol+20]=1

f=dft_shift*mask

設置一個參數名mask的濾波器,并通過調整濾波器的尺度確定其勻光效果,最終獲取濾波后的影像頻譜數組。

4)傅里葉逆變換。

ishift=numpy.fft.ifftshift(f)

iimg=cv2.idft(ishift)

類似于傅里葉變換,numpy模塊提供了iffshift()函數,OpenCV庫提供了cv2.idft()函數實現了影像頻譜的傅里葉逆變換。

4.4 處理效果及評價

1)批量處理速度。

為保證對大量航空影像進行批量勻光處理的計算效率,應保證計算機硬件的配置要求,試驗選取計算機硬件為Inter(R)Core(TM)i7-4790k處理器,32GB內存,2TB機械硬盤的處理平臺,通過對1 000張影像進行批量勻光處理,總計用時約160 min,單張處理時間約為10 s,相對于利用傳統圖片處理軟件進行單張影像勻光所需20 s~40 s,整體效率提升了2倍~4倍。

2)勻光效果。

選擇實驗數據中的一張原始影像及勻光后影像進行比較,如圖2所示。

從目視效果看,圖2a)原始影像中由于拍攝時的光照條件及相機參數設置等原因,水體呈現曝光過度狀態,亮度較高且與周邊的農用地反差較大,不利于后期影像的制作與使用;圖2b)是應用Mask方法制作的該幅影像的背景影像,可以看到在水體部分明顯的高亮,村莊處白色屋頂反光較強也存在相對高亮;圖2c)為勻光處理后的影像,可見水體亮度明顯被減弱,水體細節得到了加強,與周邊地物的關系更加協調。進一步將原始影像與勻光后影像進行亮度統計分析得到表1。

表1 影像勻光前后亮度參數對比

通過對影像進行分塊量化分析發現,勻光后影像的總體亮度和亮度的離散值較原始影像均有下降,這主要是由該幅影像的下部1/3即水體部分進行了大幅的勻光,其他色彩較好區域并未對照度進行過多干預,勻光尺度與影像的適應性較好;各部分平均梯度在勻光前后變化量少,說明背景影像經過兩次重采樣并未對原始影像細節造成影響,高亮區域或陰暗區域的勻光在一定程度上也會增加影像的細節表現。綜合看來影像總體勻光效果理想。

5 結語

針對航空影像數據量日益增大的問題,本文基于Mask勻光原理,使用Python語言設計了一種批量快速勻光算法。經過實驗與分析,發現該算法具有以下優點:1)處理速度快。相較于單張處理效率,批量處理能夠基于腳本方式完成勻色,效率可提升2倍~4倍。2)勻光效果好。該算法能夠自動識別航空影像亮度的離散程度,重點計算過亮或過暗區域的曝光度,不會對亮度和色彩較為理想的區域造成過多的干擾。3)使用成本低、程序開發易。當前基于Python語言和OpenCV數據庫的開放性資源較多,讀者可以根據本文的思想和方法,靈活設計適合自己需求的算法。上述優點表明本文設計的算法適用于大批量航空影像的快速勻光處理,是一種切實可行的方法。在今后的研究中,筆者將會重點對圖像最優分塊策略的自適應性方面進行研究,以便提高航空影像快速勻光流程的整體效率和勻光效果。

主站蜘蛛池模板: 国产亚洲精品自在线| 日韩大片免费观看视频播放| 国产精品3p视频| 无码综合天天久久综合网| 日韩毛片基地| 亚洲日韩AV无码一区二区三区人| 免费A级毛片无码无遮挡| 亚洲欧洲日本在线| 亚洲精品天堂在线观看| 国产夜色视频| 国产日本一区二区三区| 亚洲成人免费在线| 国产麻豆91网在线看| 这里只有精品在线| 国产欧美视频在线| 夜夜操天天摸| 亚洲视频四区| 高清码无在线看| 亚洲日韩高清在线亚洲专区| 成人一区在线| 不卡色老大久久综合网| 色婷婷狠狠干| 九九视频免费看| 中文字幕亚洲综久久2021| 亚洲精品视频网| 高清视频一区| 亚洲视屏在线观看| 国产不卡一级毛片视频| 久久 午夜福利 张柏芝| 免费看的一级毛片| 精品一区二区三区自慰喷水| 亚洲va在线∨a天堂va欧美va| 免费国产好深啊好涨好硬视频| 国产日韩精品一区在线不卡| 欧美一区精品| 国产综合另类小说色区色噜噜| 久久精品娱乐亚洲领先| 九色91在线视频| 成人午夜亚洲影视在线观看| 热思思久久免费视频| 国产区人妖精品人妖精品视频| 在线看片国产| 国产精品第一区在线观看| 久久精品亚洲热综合一区二区| 欧洲欧美人成免费全部视频| 亚洲制服中文字幕一区二区| 成人国产精品视频频| 亚洲天堂区| a级毛片免费在线观看| 欧美乱妇高清无乱码免费| 伊人久久婷婷五月综合97色| 丰满少妇αⅴ无码区| 国产精品一区二区在线播放| 人人澡人人爽欧美一区| 国产一级做美女做受视频| 亚洲欧美不卡中文字幕| 狠狠亚洲五月天| 国产人成午夜免费看| 91av成人日本不卡三区| 亚洲成人一区二区三区| 亚洲欧洲日韩综合色天使| 亚洲天堂精品视频| 国产精品丝袜视频| 亚洲无限乱码一二三四区| 91外围女在线观看| 国产亚洲欧美另类一区二区| 2020国产免费久久精品99| 欧美性天天| 就去色综合| 欧美午夜在线观看| 国产精品白浆在线播放| 久久性妇女精品免费| 亚洲精品动漫在线观看| 尤物精品视频一区二区三区| 欧美特级AAAAAA视频免费观看| 二级特黄绝大片免费视频大片| 全午夜免费一级毛片| 国产第一页屁屁影院| 色噜噜在线观看| 国产麻豆永久视频| 欧洲av毛片| 成人福利在线免费观看|