基於透鏡陣列成像的圖像處理方法、裝置及成像系統與流程
2023-06-10 20:27:41 3

本發明涉及圖像處理技術領域,尤其涉及一種基於透鏡陣列成像的圖像處理方法、裝置及成像系統。
背景技術:
透鏡陣列是一種包含有多個呈陣列排布的子透鏡的光學器件,現已廣泛應用於光場相機、複眼相機以及大視野的顯微相機中。其子透鏡在透鏡陣列內以有序的、等間隔的方形\矩形陣列形式排布。每個子透鏡都可以對自身視野範圍內的物體成像,每個子透鏡所呈圖像稱作子圖像。因此透鏡陣列在一次成像中得到的像圖(通過透鏡陣列後成像得到的初始圖像)內包含了多個子圖像,且子圖像在像圖內的排布形式對應子透鏡在透鏡陣列內的排布形式。透鏡陣列成像的任務是對包含有多個子圖像的像圖進行處理,最終輸出的結果是由子圖像拼接形成的完整圖像。
在透鏡陣列成像後進行圖像拼接時,常常從子圖像中選取一個適當大小的圓形區域也叫作像圓來完成拼接,相鄰的像圓會產生部分重疊區域,如何處理重疊區域內的圖像,使之在相鄰的像圓間自然過渡、無失真感,這也是影響微透鏡陣列成像質量的一個關鍵步驟。
現有技術中,一種處理重疊區域內圖像的方法是在重疊區域內,每個像素點的取值為該像素點在相鄰的像圓內的取值的平均值(下文中將把這種方法稱為「重疊區域平均加權融合」)。具體舉例來說,在一種情況下,若重疊區域為相鄰兩個像圓重疊形成(此時重疊區域形狀為葉形),則該重疊區域內的像素點的取值為相鄰兩個像圓內該像素點的對應點的取值的平均值。在另一種情況下,若重疊區域為相鄰四個像圓重疊形成(此時重疊區域形狀為凸邊正方形),則該重疊區域內的像素點的取值為相鄰四個像圓內該像素點的對應點的取值的平均值。這種方法具有計算簡便的優點,但當像圓內光照不均勻、或像圓邊緣圖像畸變較大、成像質量不佳時,重疊區域平均加權融合的效果將存在較大失真,導致最終成像質量較差。
技術實現要素:
有鑑於此,本發明提供一種基於透鏡陣列成像的圖像處理方法、圖像處理裝置以及成像系統,用於解決現有技術中在子圖像拼接成最終完整圖像時出現失真,而導致成像質量不佳的問題。
本發明提供一種基於透鏡陣列成像的圖像處理方法,所述透鏡陣列包括多個呈陣列排布的子透鏡,其中,所述圖像處理方法包括以下步驟:S100建立距離矩陣步驟:對各子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;S200基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;S300將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;S400對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的子塊之間的關係獲取加權像圓;S500將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
本發明還提供一種基於透鏡陣列成像的圖像處理裝置,所述透鏡陣列包括多個呈陣列排布的子透鏡,其特徵在於,所述圖像處理裝置包括:
距離矩陣建立模塊,用於對各子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;
中間係數矩陣建立模塊,用於基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;
圖像拼接矩陣生成模塊,用於將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;
加權像圓獲取模塊,用於對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的子塊之間的關係獲取加權像圓;
場景拼接圖像生成模塊,用於將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
本發明還提供一種基於透鏡陣列成像的圖像處理裝置,所述透鏡陣列包括多個呈陣列排布的子透鏡,所述圖像處理裝置包括:圖像處理器以及存儲器;其中,所述圖像處理器調用所述存儲器中存儲的一段程序指令以執行如前面所述的基於透鏡陣列成像的圖像處理方法。
本發明還提供一種成像系統,包括主透鏡、透鏡陣列和圖像處理裝置,所述透鏡陣列包括多個呈陣列排布的子透鏡,其特徵在於,所述圖像處理裝置用於處理所述主透鏡、所述透鏡陣列獲取的場景圖像,所述圖像處理裝置為前面所述的基於透鏡陣列成像的圖像處理裝置。
本發明還提供一種計算機存儲介質,包括與具有透鏡陣列結合使用的電腦程式,所述透鏡陣列包括呈陣列排布的子透鏡,所述電腦程式可被圖像處理器執行以完成以下步驟:S100建立距離矩陣步驟:對各子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;S200基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;S300將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;S400對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的子塊之間的關係獲取加權像圓;S500將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
為達成上述目的,本發明提出的基於透鏡陣列成像的圖像處理方法、裝置及成像系統,通過對透鏡陣列所成初始圖像的重疊區域進行處理,在子圖像拼接成最終完整圖像時不會出現失真,提高了透鏡陣列的成像質量。
附圖說明
圖1為本發明實施方式一的基於透鏡陣列成像的圖像處理方法的流程示意圖。
圖2為圖1中步驟S100的流程示意圖。
圖3為圖1中步驟S200的流程示意圖。
圖4為圖1中步驟S300的流程示意圖。
圖4(a)為圖像拼接矩陣的圖像化表達示意圖。
圖5為圖1中步驟S400的流程示意圖。
圖5(a)為疊加矩陣的圖像化表達示意圖。
圖5(b)為權重矩陣的圖像化表達示意圖。
圖5(c)為左上角像圓初始圖與其加權像圓圖在圖像化表達下的對比示意圖。
圖5(d)為中心處像圓初始圖與其加權像圓圖在圖像化表達下的對比示意圖。
圖5(e)為右下角像圓初始圖與其加權像圓圖在圖像化表達下的對比示意圖。
圖6為圖1中步驟S500的流程示意圖。
圖6(a)為場景拼接圖像的示意圖。
圖7為本發明實施方式二的基於透鏡陣列成像的圖像處理裝置的結構示意圖。
圖8為本發明實施方式三的基於透鏡陣列成像的圖像處理裝置的結構示意圖。
圖9為本發明實施方式四的成像系統的結構示意圖。
具體實施方式
下面結合附圖和實施例對本發明進行詳細說明。需要說明的是,如果不衝突,本發明實施例以及實施例中的各個特徵可以相互結合,均在本發明的保護範圍之內。
請參見圖1,圖1為本發明較佳實施方式的基於透鏡陣列成像的圖像處理方法的流程示意圖。如圖1所示,本發明較佳實施方式的基於透鏡陣列成像的圖像處理方法,其中,透鏡陣列包括多個呈陣列排布的子透鏡,這裡的透鏡陣列優選液晶透鏡陣列,液晶透鏡陣列中的各子透鏡按照陣列的方式排布,各子透鏡分別受電壓驅動改變液晶分子偏向形成折射率梯度分布。該基於透鏡陣列成像的圖像處理方法主要包括以下步驟:
S100建立距離矩陣步驟:對各子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;這裡的像圓為子透鏡生成的初始圖像。
S200基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;
S300將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;
S400對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的所述子塊之間的關係獲取加權像圓;
S500將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
本發明提出的基於透鏡陣列成像的圖像處理方法通過對透鏡陣列所成初始圖像的重疊區域進行處理,在子圖像拼接成最終完整圖像時不會出現失真,提高了透鏡陣列的成像質量。
上述預設的拼接間距可以通過以下方法獲得:
S1設置所述子圖像的像圓直徑的初始值;
在灰度圖像Ig中,為各子圖像選擇一個初始的直徑b0,在本發明中,一幅灰度圖像Ig內的所有子圖像均使用同一直徑,提取出每個子圖像的像圓,即:
對於灰度圖像Ig內的每個子圖像,以子圖像的中心位置為圓心、以b0為直徑(b0≤e,其中e表示相鄰兩個子圖像中心位置的間距),提取出一個圓形區域(以下將這個圓形區域稱為像圓),該像圓將被用於後續的自適應圖像拼接。
像圓的初始直徑b0可以從光學仿真的結果中獲得;另外,也可以根據經驗選擇初始直徑b0,一般的,0.45*e≤b0≤0.85*e。
S2計算任意相鄰兩個像圓中心之間的位置間距;
根據像圓直徑b0,確定拼接圖像時相鄰兩個像圓的中心位置間距d0,間距d0與像圓直徑b0滿足下面的關係
S3依據所述位置間距,計算任意相鄰兩個像圓行中第一行像圓與第二行像圓之間的行拼接間距值,以及任意相鄰兩個像圓列中第一列像圓與第二列像圓列之間的列拼接間距值;具體來說,對於像圖中的每兩個相鄰的像圓行、每兩個相鄰的像圓列,按照下面的方式計算其最佳拼接間距,其中,像圓行、像圓列的計算順序可以打亂,但不會影響到最終結果:假設像圖中的子圖像有R行、C列,則上述行拼接間距值與上述列拼接間距值按以下步驟獲得:
S31對於第1行像圓與第2行像圓(每一行像圓均包含有本行的C個像圓),依以下步驟計算其最佳拼接間距
(a)當第1行像圓與第2行像圓的中心位置的上、下間距為d0時,計算每兩個上下相鄰的像圓的重疊區域;
(b)計算在第1行的C個像圓與第2行的C個像圓的所有重疊區域內,像素灰度值的標準差std(d0)。這個標準差std(d0)可以採用下面這個公式獲得:
(c)按照一定的步長s改變第1行像圓與第2行像圓中心位置的上、下間距,例如,s=1即代表每次將間距改變一個像素。依次計算當兩行像圓中心位置的上、下間距d':
d'={d0–s,d0-2s,d0-3s,…,d0–k*s,d0+2s,d0+s,d0+2s,d0+3s,…,d0+k*s}時,在所有的上、下相鄰的像圓的重疊區域內,像素灰度值的標準差std(d'),其中,k為整數,並且使得k*s<0.4d0,一般可以選擇使k*s<0.2d0的k值與s值。
(d)比較當第1行像圓與第2行像圓中心位置的上、下間距為{d0,d0–s,d0-2s,d0-3s,…,d0–k*s,d0+s,d0+2s,d0+3s,…,d0+k*s}時,對應的所有上、下相鄰像圓的重疊區域內像素灰度值的標準差std,找出使標準差std最小的間距值,將這個使標準差std最小的間距值記為
S32對於第2行像圓與第3行像圓,計算其最佳拼接間距對於第3行像圓與第4行像圓,計算其最佳拼接間距……;對於第R-1行像圓與第R行像圓,計算其最佳拼接間距
S33對於第1列像圓與第2列像圓(每一列像圓均包含有本行的R個像圓),依以下步驟計算其最佳拼接間距
(A)當第1列像圓與第2列像圓的中心位置的左、右間距為d0時,計算每兩個左右相鄰的像圓的重疊區域;
(B)計算第1列的R個像圓與第2列的R個像圓的所有重疊區域內,像素灰度值的標準差std(d0)。這個標準差可以按以下公式計算:
(C)按照一定的步長s改變第1列像圓與第2列像圓中心位置的左、右間距,例如,s=1即代表每次將間距改變一個像素。依次計算當兩列像圓中心位置的左、右間距:
d″={d0–s,d0-2s,d0-3s,…,d0–k*s,d0+2s,d0+s,d0+2s,d0+3s,…,d0+k*s}時,在所有的左、右相鄰的像圓的重疊區域內,像素灰度值的標準差std(d″)。其中,k為整數,並且使得k*s<0.4d0,一般可以選擇使k*s<0.2d0的k值與s值。
(D)比較當第1列像圓與第2列像圓中心位置的左、右間距為{d0,d0–s,d0-2s,d0-3s,…,d0–k*s,d0+s,d0+2s,d0+3s,…,d0+k*s}時,對應的所有左、右相鄰像圓的重疊區域內像素灰度值的標準差std,找出使標準差std最小的間距值,將這個使標準差std最小的間距值記為
S34對於第2列像圓與第3列像圓,計算其最佳拼接間距對於第3列像圓與第4列像圓,計算其最佳拼接間距……;對於第C-1列像圓與第C列像圓,計算其最佳拼接間距
S35將上面步驟S330中得到的R-1個行間最佳拼接間距其中i=1,2,3,...,R-1)及C-1個列間最佳拼接間距(其中j=1,2,3,...,C-1)分別計算行拼接間距的平均值和列拼接間距的平均值。
S36判斷上述平均值(包括行拼接間距的平均值和列拼接間距的平均值)的大小是否在預設範圍內;這個預設範圍依據實際需要設定。較佳地,這裡的預設範圍為:各平均值小於等於d0+0.75*k*s、並且大於等於d0-0.75*k*s,進入步驟S340。
若平均值大於d0+0.75*k*s或小於d0-0.75*k*s,則重新計算子圖像的初始直徑b0
將上式中計算得到的b0作為子圖像的初始直徑,重新執行步驟S31、S32、S33和S35以及S36直至R-1個行間最佳拼接間距(其中i=1,2,3,...,R-1)及C-1個列間最佳拼接間距(其中j=1,2,3,...,C-1)各自的平均值小於等於d0+0.75*k*s、並且大於等於d0-0.75*k*s為止,進入下一步驟。
S4依據所述行拼接間距值與所述列拼接間距值,獲得任意相鄰兩個子圖像的像圓之間滿足預設條件的拼接間距值,這個滿足預設條件的拼接間距值就是預設的拼接間距。這裡的預設條件依據產品性能由用戶根據實際需要來設置。具體來說,對於R-1個行間最佳拼接間距(其中i=1,2,3,...,R-1)及C-1個列間最佳拼接間距(其中j=1,2,3,...,C-1),計算這些行間、列間最佳拼接間距與平均值的差的絕對值,若這些絕對值中存在著大於0.25*k*s(預設條件)的,找出對應的最佳拼接間距,並將其修改成平均值。
較好地,這個預設的拼接間距選取最佳拼接間距值。
上述獲取預設的拼接間距的方法不僅方法簡單,而且易於找到最佳拼接間距值。
此外,在上述步驟S100之前還包括:獲取各像圓位置信息步驟,依據各子透鏡與相應像圓的對應關係,通過各子透鏡的位置信息,獲取相應的各像圓的位置信息。
請參見圖2,圖2為圖1中步驟S100的流程示意圖。如圖2所示,在一個具體實施例中,所述步驟S100具體包括:
S110獲取各子透鏡生成的像圓,包括各像圓的圓心、半徑和各像圓的外接四邊形的大小;每一子透鏡都相應生成一像圓,每個像圓的圓心、半徑可通過光學測量或者成像原理計算獲得,在得出像圓的圓心和半徑後,其外接四邊形大小可通過簡單的幾何關係獲得。
S120計算所述外接四邊形內各像素至所述像圓圓心的距離作為所述距離矩陣的各對應元素的值。每一像素都可以用平面坐標來定位,而像圓圓心也可通過現有的方法獲得,因此,按照距離公式即可計算出像圓的外接四邊形內的像素到像圓圓心的距離。
請參見圖3,圖3為圖1中步驟S200的流程示意圖。如圖3所示,在一個具體實施例中,所述步驟S200具體包括:
S210判斷所述距離矩陣中各元素對應的像素位於所在像圓內還是所在像圓外;
S220分別對對應所述像圓外像素的元素賦值和所述像圓內像素的元素賦予權重值,建立所述中間係數矩陣。
在一個具體實施例中,,所述步驟S220具體包括:
S221構造一個單調遞減函數f(x)=y或常值函數f(x)=c,其中,y>0,c為大於0的恆定常數,r為所述像圓半徑,所述單調遞減函數表徵各元素對應的像素與對應像圓圓心距離x與該元素的權重值y之間的關係,x越小,表明距離對應像圓圓心越近,則權重值y越大;
S222依據所述單調遞減函數f(x)=y或常值函數f(x)=c,確定所述中間係數矩陣的各元素值mij=f(dij)*δij,其中dij表示各元素對應的像素距離像圓圓心的距離,δij為一個符號函數,用於表徵各元素對應像素位於對應像圓內還是像圓外,在像圓外取值為0,在像圓內取值為1;
具體來說,利用函數f(x)=y,針對每個距離矩陣D,生成一個中間係數矩陣M,中間係數矩陣M的大小(即行、列數)與距離矩陣D相同(亦即與像圓外接四邊形相同),中間係數矩陣M中每個元素的值mij=f(dij)*δij,其中,dij表示各元素對應的像素距離像圓圓心的距離,δij是一個取值為0或1的函數,當該元素對應的點位於像圓內部時(即dij≤r時),δij取值為1,當該元素對應的點位於像圓外部時(即時),δij取值為0。因為f(x)是個單調遞減函數,所以在中間係數矩陣M中,距離像圓圓心越遠的點,其取值越小,且M中所有位於像圓內部的元素的取值都為正數,M中所有位於像圓外部的元素的取值均為0。
在一個具體實施例中,所述單調遞減函數f(x)=y可以是以下幾種中的任意一種:
(1)f(x)=r-x+ε,其中r為像圓半徑,ε為接近0的正數;
(2)f(x)=exp(-x/σ),其中σ為正數,σ取值為0.15*r,以便當x接近r時,f(x)接近於0;
(3)f(x)=exp(-(x/σ)m),其中σ、m均為正數,m小於1;
(4)f(x)=2/(1+exp(k*x)),其中k為正數,k取值為10/r,以便當x接近r時,f(x)接近於0。
以上四種單調遞減函數f(x)均可利用來生成中間係數矩陣,其中上述(1)計算簡單,上述(3)和(4)計算相對複雜,但構築的中間係數矩陣中各元素值較為準確。實際中,可以根據對圖像成像質量的需要來選擇。
S230依次排列對應所述距離矩陣的中間係數矩陣的各元素值,生成所述中間係數矩陣。
請參見圖4和4(a),圖4為圖1中步驟S300的流程示意圖,圖4(a)為圖像拼接矩陣的圖像化表達示意圖。如圖4所示,在一個具體實施例中,所述步驟S300具體包括:
S310將全部中間係數矩陣按照各像圓之間的預設拼接間距依次排列;
S320獲取相鄰中間係數矩陣的重疊區域,所述重疊區域內的元素的取值為所述相鄰兩個中間係數矩陣的各自對應位置處的元素值疊加後的總值;
S330生成所述圖像拼接矩陣。具體來說,將所有中間係數矩陣M按照像圓拼接時的最佳拼接間距在圖像拼接矩陣U內依次擺放、疊加;在相鄰的中間係數矩陣M的重疊區域內,元素的取值為相鄰的中間係數矩陣M的對應位置處的元素值的疊加;為了避免在下文的步驟(6)中出現除以0的錯誤,可以將圖像拼接矩陣U中等於0的元素替換為一個非零的數。
如圖4(a)所示,每個像圓與相鄰像圓重疊的部分均呈現葉形輪廓。在像圓中心處、不與其他像圓重疊的區域內,像素的取值即為對應的中間係數矩陣在該位置處的元素的值,隨著其與像圓圓心距離的增大而減小;在像圓外側、與其他像圓重疊的區域內,像素的取值即為相鄰的中間係數矩陣的對應位置處的元素值的疊加,根據所選擇的單調遞減函數或常值函數f(x)的不同,重疊區域內像素取值的變化會有所不同。
請參見圖5、5(a)、圖5(b)、圖5(c)、圖5(d)、圖5(e),圖5為圖1中步驟S400的流程示意圖,圖5(a)為疊加矩陣的圖像化表達示意圖,圖5(b)為權重矩陣的圖像化表達示意圖,圖5(c)為左上角像圓初始圖與其加權像圓圖在圖像化表達下的對比示意圖,圖5(d)為中心處像圓初始圖與其加權像圓圖在圖像化表達下的對比示意圖,圖5(e)為右下角像圓初始圖與其加權像圓圖在圖像化表達下的對比示意圖。如圖5所示,在一個具體實施例中,所述步驟S400具體包括:
S410對每一像圓,從所述圖像拼接矩陣中取出對應所述像圓的子塊,記為所述像圓的疊加矩陣;具體地,針對每個像圓subI,從大矩陣U中,取出位於該像圓擺放位置處的子塊,該子塊的大小(即行、列數)與該像圓外接四邊形相同(亦即與距離矩陣D及中間係數矩陣M相同),將這個從大矩陣U中取出的子塊記為該像圓的疊加矩陣V。
S420依據各所述中間係數矩陣中各元素的值與相應所述疊加矩陣中對應元素的值之間的比值獲取生成的權重矩陣中各元素的權重值;具體地,針對每個像圓subI,計算權重矩陣W,權重矩陣W的大小(即行、列數)與像圓外接四邊形相同(亦即與距離矩陣D及中間係數矩陣M相同),權重矩陣W中每個元素的值wij=mij/vij,其中vij為該像圓的疊加矩陣V中該元素的值。
S430獲取各所述像圓中的各元素值與對應的權重矩陣中各對應元素的權重值的乘積,之後生成所述加權像圓。具體地說,針對每個像圓subI,將其與其對應的權重矩陣W做逐元素的乘法,得到加權像圓subI』,即subIij』=subIij*wij。
在圖5(a)中,從左至右,分別為左上角、中心處、右下角像圓的疊加矩陣,其分別一一對應圖4(a)圖像拼接矩陣中的左上角、中心處、右下角的像圓所在的外接矩形區域。
在圖5(b)中,從左至右,分別為左上角、中心處、右下角像圓的權重矩陣。對於每一個像圓的權重矩陣,在像圓中心處、不與其他像圓重疊的區域內,每個像素的權重取值為1;在像圓外側、與其他像圓重疊的區域內,每個像素的權重隨著該像素與像圓圓心距離的增大而減小。
左上角像圓的右半部分、下半部分與相鄰像圓重疊,因此其右半部分、下半部分權重值隨著像素與像圓圓心距離增大而遞減,其餘(沒有與相鄰像圓重疊的)部分權重值為1;
中心處像圓的左半部分、右半部分、上半部分、下半部分與相鄰像圓重疊,因此其左半部分、右半部分、上半部分、下半部分權重值隨著像素與像圓圓心距離增大而遞減,其餘(沒有與相鄰像圓重疊的)部分權重值為1;
右下角像圓的左半部分、上半部分與相鄰像圓重疊,因此其左半部分、上半部分權重值隨著像素與像圓圓心距離增大而遞減,其餘(沒有與相鄰像圓重疊的)部分權重值為1;
在圖5(c、d、e)中,左邊為像圓的初始圖(初始像圓),右邊為加權像圓,右邊的加權像圓為初始像圓與權重矩陣逐元素的乘積。對於權重值為1的像素,其在加權像圓中的取值即為初始像圓中的取值;對於權重值小於1的像素,其在加權像圓中的取值小於初始像圓中的取值。從圖中可以明顯看出,加權像圓由於乘以權重係數後,灰度有所下降,然而這更真實地反映出拼接前像圓的情況。
請參見圖6和6(a),圖6為圖1中步驟S500的流程示意圖,圖6(a)為場景拼接圖像的示意圖。如圖6所示,在一個具體實施例中,所述步驟S500具體包括:
S510將所述加權像圓按照所述預設的拼接間距依次排列;
S520在相鄰兩個所述加權像圓的重疊區域內,各像素點的取值為所述像素點在相鄰兩個所述加權像圓內的對應處取值疊加後的和值;
S530生成所述場景拼接圖像。具體來說,將加權像圓subI』按照最佳拼接間距,依次擺放、疊加成為場景拼接圖像;在相鄰的加權像圓的重疊區域內,像素點的取值為相鄰的加權像圓subI』內該像素點的對應點的取值的總和。
從圖6(a)的場景拼接圖像中可以看出,相鄰像圓的重疊區域內沒有任何圖像失真,本發明中的方法取得了非常好的成像質量。
實施方式二
請參見圖7,圖7為本發明實施方式二的基於透鏡陣列成像的圖像處理裝置的結構示意圖。如圖7所示,一種基於透鏡陣列成像的圖像處理裝置,所述透鏡陣列包括多個呈陣列排布的子透鏡,,所述圖像處理裝置包括:
距離矩陣建立模塊100,用於對各子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;
中間係數矩陣建立模塊200,用於基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;
圖像拼接矩陣生成模塊300,用於將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;
加權像圓獲取模塊400,用於對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的子塊之間的關係獲取加權像圓;
場景拼接圖像生成模塊500,用於將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
在一個具體實施例中,所述距離矩陣建立模塊100具體包括:
像圓獲取單元,用於獲取各子透鏡生成的像圓,包括各像圓的圓心、半徑和各像圓的外接四邊形的大小;
計算單元,用於計算所述外接四邊形內各像素至所述像圓圓心的距離作為所述距離矩陣的各對應元素的值。
在一個具體實施例中,所述中間係數矩陣建立模塊200具體包括:
判斷單元,用於判斷所述距離矩陣中各元素對應的像素位於所在像圓內還是所在像圓外;
中間係數矩陣建立單元,用於分別對對應所述像圓外像素的元素賦值和所述像圓內像素的元素賦予權重值,建立所述中間係數矩陣。
在一個具體實施例中,所述中間係數矩陣建立單元具體包括:
函數構造子模塊,用於構造一個單調遞減函數f(x)=y或常值函數f(x)=c,其中,c為大於0的恆定常數,r為所述像圓半徑,所述單調遞減函數表徵各元素對應的像素與對應像圓圓心距離x與該元素的權重值y之間的關係,x越小,表明距離對應像圓圓心越近,則權重值y越大;
矩陣元素值確定子模塊,用於依據所述單調遞減函數f(x)=y或常值函數f(x)=c,確定所述中間係數矩陣的各元素值mij=f(dij)*δij,其中dij表示各元素對應的像素距離像圓圓心的距離,δij為一個符號函數,用於表徵各元素對應像素位於對應像圓內還是像圓外,在像圓外取值為0,在像圓內取值為1;
中間係數矩陣生成子模塊,用於依次排列對應所述距離矩陣的中間係數矩陣的各元素值,生成所述中間係數矩陣。
在一個具體實施例中,所述圖像拼接矩陣生成模塊300具體包括:
矩陣排列單元,用於將全部中間係數矩陣按照各像圓之間的預設拼接間距依次排列;
重疊區域疊加值獲取單元,用於獲取相鄰中間係數矩陣的重疊區域,所述重疊區域內的元素的取值為所述相鄰兩個中間係數矩陣的各自對應位置處的元素值疊加後的總值;
拼接矩陣生成單元,用於生成所述圖像拼接矩陣。
在一個具體實施例中,所述加權像圓獲取模塊400具體包括:
疊加矩陣建立單元,用於對每一像圓,從所述圖像拼接矩陣中取出對應所述像圓的子塊,記為所述像圓的疊加矩陣;
權重值獲取單元,用於依據各所述中間係數矩陣中各元素的值與相應所述疊加矩陣中對應元素的值之間的比值獲取生成的權重矩陣中各元素的權重值;
加權像圓生成單元,用於獲取各所述像圓中的各元素值與對應的權重矩陣中各對應元素的權重值的乘積,之後生成所述加權像圓。
實施方式三
請參見圖8,圖8為本發明實施方式三的基於透鏡陣列成像的圖像處理裝置的結構示意圖。如圖8所示,本發明的基於透鏡陣列成像的圖像處理裝置,所述透鏡陣列包括多個呈陣列排布的子透鏡,其特徵在於,所述圖像處理裝置包括:圖像處理器1000以及存儲器2000;其中,所述圖像處理器1000調用所述存儲器2000中存儲的一段程序指令以至少執行以下基於透鏡陣列成像的圖像處理方法:
S100建立距離矩陣步驟:對各所述子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;
S200基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;
S300將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;
S400對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的所述子塊之間的關係獲取加權像圓;
S500將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
具體地,所述步驟S100具體包括:
S110獲取各子透鏡生成的像圓,包括各像圓的圓心、半徑和各像圓的外接四邊形的大小;
S120計算所述外接四邊形內各像素至所述像圓圓心的距離作為所述距離矩陣的各對應元素的值。
具體地,所述步驟S200進一步包括:
S210判斷所述距離矩陣中各元素對應的像素位於所在像圓內還是所在像圓外;
S220分別對對應所述像圓外像素的元素賦值和所述像圓內像素的元素賦予權重值,建立所述中間係數矩陣。
更進一步地,所述步驟S220具體包括:
S221構造一個單調遞減函數f(x)=y或常值函數f(x)=c,其中,c為大於0的恆定常數,r為所述像圓半徑,所述單調遞減函數表徵各元素對應的像素與對應像圓圓心距離x與該元素的權重值y之間的關係,x越小,表明距離對應像圓圓心越近,則權重值y越大;
S222依據所述單調遞減函數f(x)=y或常值函數f(x)=c,確定所述中間係數矩陣的各元素值mij=f(dij)*δij,其中dij表示各元素對應的像素距離像圓圓心的距離,δij為一個符號函數,用於表徵各元素對應像素位於對應像圓內還是像圓外,在像圓外取值為0,在像圓內取值為1;
S230依次排列對應所述距離矩陣的中間係數矩陣的各元素值,生成所述中間係數矩陣。
進一步地,所述步驟S300具體包括:
S310將全部中間係數矩陣按照各像圓之間的預設拼接間距依次排列;
S320獲取相鄰中間係數矩陣的重疊區域,所述重疊區域內的元素的取值為所述相鄰兩個中間係數矩陣的各自對應位置處的元素值疊加後的總值;
S330生成所述圖像拼接矩陣。
進一步地,所述步驟S400具體包括:
S410對每一像圓,從所述圖像拼接矩陣中取出對應所述像圓的子塊,記為所述像圓的疊加矩陣;
S420依據各所述中間係數矩陣中各元素的值與相應所述疊加矩陣中對應元素的值之間的比值獲取生成的權重矩陣中各元素的權重值;
S430獲取各所述像圓中的各元素值與對應的權重矩陣中各對應元素的權重值的乘積,之後生成所述加權像圓。
進一步地,所述步驟S500具體包括:
S510將所述加權像圓按照所述預設的拼接間距依次排列;
S520在相鄰兩個所述加權像圓的重疊區域內,各像素點的取值為所述像素點在相鄰兩個所述加權像圓內的對應處取值疊加後的和值;
S530生成所述場景拼接圖像。
更進一步地,所述單調遞減函數f(x)=y可以是以下幾種中的任意一種:
(1)f(x)=r-x+ε,其中r為像圓半徑,ε為接近0的正數;
(2)f(x)=exp(-x/σ),其中σ為正數,σ取值為0.15*r,以便當x接近r時,f(x)接近於0;
(3)f(x)=exp(-(x/σ)m),其中σ、m均為正數,m小於1;
(4)f(x)=2/(1+exp(k*x)),其中k為正數,k取值為10/r,以便當x接近r時,f(x)接近於0。
實施方式四
請參見圖9,圖9為本發明實施方式四的成像系統的結構示意圖。如圖9所示,一種成像系統,包括主透鏡10、透鏡陣列20、圖像傳感器30和圖像處理裝置40,所述透鏡陣列20包括多個呈陣列排布的子透鏡,所述圖像處理裝置40用於處理所述主透鏡10、所述透鏡陣列20獲取的場景圖像,所述圖像處理裝置40至少包括:
距離矩陣建立模塊,用於對各子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;
中間係數矩陣建立模塊,用於基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;
圖像拼接矩陣生成模塊,用於將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;
加權像圓獲取模塊,用於對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的子塊之間的關係獲取加權像圓;
場景拼接圖像生成模塊,用於將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
本發明的成像系統所包括的圖像處理裝置40與實施方式二和實施方式三中的圖像處理裝置相同,詳細請參見實施方式二和實施方式三的相關描述,在此不再贅述。
本發明的成像系統可應用於膠囊型醫療設備、航空拍攝設備、智能汽車、機器人、智能穿戴設備、監視設備、醫學顯微鏡、微創醫療設備、AR/VR設備以及帶攝像頭的飛彈等電子設備中。
本發明還提供一種計算機存儲介質,包括與具有透鏡陣列結合使用的電腦程式,所述透鏡陣列包括呈陣列排布的子透鏡,所述電腦程式可被圖像處理器執行以完成以下步驟:
S100建立距離矩陣步驟:對各子透鏡生成的像圓,每一所述距離矩陣的元素集合與相應每一所述像圓的外接四邊形大小相同,所述距離矩陣內的各元素的值為該元素對應的像素至所述像圓圓心的距離;
S200基於所述像圓的所述距離矩陣,建立一個對各元素賦予權重係數的中間係數矩陣,每一像圓的所述距離矩陣對應一中間係數矩陣;
S300將各像圓相應的所述中間係數矩陣按照各像圓之間預設的拼接間距依次排列和疊加形成多個呈陣列排列的子塊後,生成圖像拼接矩陣,所述圖像拼接矩陣中的每一子塊對應一像圓;
S400對每一像圓,利用所述像圓所對應的中間係數矩陣中各元素的值與從所述圖像拼接矩陣中取出對應各像圓位置的所述子塊之間的關係獲取加權像圓;
S500將各所述加權像圓按照所述預設的拼接間距,依次排列、疊加生成場景拼接圖像。
以上所述僅為本發明的實施方式,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。