獲得圖像的點擴展函數的方法和裝置制造方法
【專利摘要】本發明提供了一種獲得圖像的點擴展函數的方法和裝置,其中,該方法包括:沿所述圖像的法向量方向在所述圖像上制作多條切割線;對于所述多條切割線中的每一條切割線,根據該切割線所經過的每個像素的屬性值形成觀測序列;對形成的多個觀測序列進行數學變換得到多個多項式,計算所述多個多項式的最大公因子作為所述圖像的點擴展函數。本發明的有益效果在于,以圖像的法向量方向為基礎形成切割線觀測序列,再進行數學計算獲得PSF,能夠在圖像上構建非相關信道模型,從而在圖像解碼時參考PSF的形式在相當大的程度上消除成像系統不理想的影響。
【專利說明】獲得圖像的點擴展函數的方法和裝置
【技術領域】
[0001]本發明涉及圖像處理領域,特別地,涉及一種獲得圖像的點擴展函數的方法和裝置。
【背景技術】
[0002]目前市場使用的二維條碼掃描模組全部都是影像式的,因此拍攝圖像的質量高低會直接影響圖像的解碼效果。其中,要求拍攝的圖像質量越好,則對鏡頭的要求就越高,會直接導致鏡頭的制造購買成本增加。
[0003]鏡頭的一個重要屬性就是在一定條件下拍攝后的圖像的點擴展函數。對點擴展函數的解釋如下:
[0004]一個點狀物體,在理想成像時,在所拍攝圖像上占用一個像素,其周圍的像素與該點無關。實際拍攝時,該點狀物體在所拍攝圖像上是一個彌散的圓,該點周圍的像素受到該點的影響而不再是獨立的。描述這種影響程度的函數就是點擴展函數。
[0005]這里給出點擴展函數的數學定義:
[0006]假設:
[0007]理想成像系統所拍攝的圖像為f(x,y);
[0008]實際成像系統所拍攝的圖像為g(x,y);
[0009]則二者之間滿足如下關系:
[0010]g(x, y) = f(x, y)?PSF + n(x, y)
[0011]其中PSF (Point-spreadfunction)為點擴展函數,n(x, y)為噪聲。
[0012]由此可見,點擴展函數的尺度越大,拍攝圖像越模糊,尺度越小,拍攝圖像越清晰。而該函數的尺寸與拍攝距離也有關系,因此鏡頭景深的影響也十分大。
[0013]當鏡頭質量非常好,且對焦清晰時,可以不考慮點擴展函數的影響。可以認為成像系統是一個理想系統。但是當對焦不清晰,或者鏡頭質量差時,點擴展函數的影響就不可忽略,必須予以考慮。
[0014]目前的一些解碼設備都采用了造價較高的CMOS以及高質量的鏡頭,這樣可以忽略一定條件下的點擴展函數的影響,采用高質量的成像設備的優勢在于解碼引擎處理非常方便,但是其代價在于解碼引擎的適應性較差,必須依賴較高質量的成像設備,而較高質量的成像設備(例如鏡頭、CMOS等)必定會增加制造成本,因而,在均衡經濟成本的情況下,還存在一些解碼設備采用成像設備質量一般的設備(鏡頭質量一般的情況包括微鏡頭入射角大于10度,解像力小于8001w,光纖小于f5.6,采用卷簾類快門rolling, CMOS質量一般的情況包括每個成像的像素點尺寸小于3.0*3.0微米等),在此情況下考慮到大尺度點擴展函數的不利影響,需要使用相關的算法消除該不利影響的,而對不利影響的消除需要依賴于點擴展函數的獲得。
[0015]現有技術中無法在解碼過程中實時估計PSF而導致解碼效果差的問題尚未解決。
【發明內容】
[0016]本發明所要解決的問題是無法在解碼過程中實時估計PSF而導致解碼效果差,提供一種獲得圖像的點擴展函數的方法和裝置。
[0017]為了解決上述問題,本發明提供一種獲得圖像的點擴展函數的方法。
[0018]其中,該方法包括:
[0019]沿所述圖像的法向量方向在所述圖像上制作多條切割線;
[0020]對于所述多條切割線中的每一條切割線,根據該切割線所經過的每個像素的屬性值形成觀測序列;
[0021]對形成的多個觀測序列進行數學變換得到多個多項式;
[0022]計算所述多個多項式的最大公因子作為所述圖像的點擴展函數。
[0023]作為優選地,在沿所述圖像的法向量方向在所述圖像上制作多條切割線之前,所述方法進一步包括:
[0024]對所述圖像內的每個像素,比較該像素的相鄰兩個像素的屬性值,在比較結果大于指定閾值的情況下,確定該像素為邊界像素;
[0025]對比所述邊界像素與相鄰多個像素的屬性值,得到對應每個邊界像素的梯度角度;
[0026]統計對比得到的多個梯度角度,以出現概率最大的梯度角度作為所述圖像的法向
量方向。
[0027]作為優選地,沿所述圖像的法向量方向制作多條切割線包括:
[0028]選擇多行像素,所述多行像素間隔有像素行;
[0029]對于選擇的所述多行像素的每一行像素,在該行像素的中間位置沿所述圖像的法向量方向制作一條切割線。
[0030]作為優選地,選擇多行像素為選擇六至十行像素;
[0031]所述多行像素中相鄰的兩行像素間具有至少30行像素行。
[0032]作為優選地,在根據該切割線所經過的每個像素的屬性值形成觀測序列之前,所述方法進一步包括:
[0033]對于所述多條切割線中的每一條切割線所經過的每個像素,利用雙線性插值法計算該像素的實際屬性值;
[0034]計算位于垂直于該像素的法向量方向上的多個像素的實際屬性值;
[0035]以該像素的實際屬性值與位于垂直于該像素的法向量方向上的多個像素的實際屬性值的平均值作為該像素的屬性值。
[0036]作為優選地,對形成的多個觀測序列進行數學變換得到所述多個多項式包括:
[0037]對形成的多個觀測序列進行ζ變換得到所述多個多項式。
[0038]作為優選地,在計算所述多個多項式的最大公因子作為所述圖像的點擴展函數之前,所述方法進一步包括:
[0039]對于每個邊界像素,獲取該邊界像素兩側的多個像素的屬性值;
[0040]計算該多個像素的屬性值的梯度絕對值,并根據所有連續出現的其梯度絕對值大于一預定閾值的像素的數量總和來確定所述點擴展函數的階。
[0041]作為優選地,計算所述多個多項式的最大公因子包括:[0042]構建一理想多項式的系數矩陣,并且根據所述點擴展函數的階與所述多個多項式構建所述多個多項式的系數矩陣,其中,所述理想多項式為所述多個多項式對應的理想成像系統成像后獲得的觀測序列的ζ變換得到的多項式;
[0043]根據所述多個多項式的系數矩陣及所述理想多項式的系數矩陣利用多項式除法計算得到所述多個多項式的最大公因子。
[0044]作為優選地,所述屬性值包括以下至少之一:
[0045]灰度值、RGB中任一值、色差值。
[0046]本發明還提供一種獲得圖像的點擴展函數的裝置。
[0047]其中,該裝置包括:
[0048]制作模塊,用于沿所述圖像的法向量方向在所述圖像上制作多條切割線;
[0049]序列形成模塊,用于對于所述多條切割線中的每一條切割線,根據該切割線所經過的每個像素的屬性值形成觀測序列;
[0050]變換模塊,用于對形成的多個觀測序列進行數學變換得到多個多項式;
[0051]計算模塊,用于計算所述多個多項式的最大公因子作為所述圖像的點擴展函數。本發明的有益效果在于,以圖像的法向量方向為基礎形成切割線觀測序列,再進行數學計算獲得PSF,能夠在圖像上構建非相關信道模型,從而在圖像解碼時參考PSF的形式在相當大的程度上消除成像系統不理想的影響。
[0052]本發明的有益效果還在于,利用二維條碼不同行之間數據碼字的不相關性,在一副圖像中構建出多信道模型,將PSF看作信號源,將二維條碼理想成像后的碼字作為信道。并利用PSF的對稱性,將二維問題簡化為一維自由度的問題,可以做到穩健、精確、快速求解PSF的目的,因而具有抗噪聲能力強,收斂快,計算出的點擴展函數精度高的特點。
[0053]本發明的有益效果進一步在于,可以實時估計PSF,避免必須使用高解像力的鏡頭來達到理想解碼效果的情況,降低了成本。
[0054]本發明的有益效果進一步在于,可以僅使用一張圖像來構建非相關信道模型。
[0055]本發明的有益效果進一步在于,本發明的技術方案采用的計算PSF的方法穩健,并且可以求解大型圖像以及大尺寸的PSF。
【專利附圖】
【附圖說明】
[0056]圖1為根據本發明實施例的獲得圖像的點擴展函數的方法的流程圖;
[0057]圖2為根據本發明的一個實施例的獲得二維條碼圖像的點擴展函數的方法的流程圖;
[0058]圖3為根據本發明的一個實施例在獲得切割線條碼后的圖像的示意圖。
【具體實施方式】
[0059]以下結合附圖對本發明的進行詳細描述。
[0060]根據本發明的實施例,提供了一種獲得圖像的點擴展函數的方法。
[0061]如圖1所示,根據本發明實施例的方法包括:
[0062]步驟S101,沿圖像的法向量方向(其中,垂直于圖像的邊緣的方向為法向量的方向,因此,在圖像為二維條碼時,圖像具有兩個法向量方向,在本發明中僅選擇其中一個方向作為法向量方向)在圖像上制作多條切割線,在此之前,根據本發明實施例的方法可以進一步對圖像內的每個像素,比較該像素的相鄰兩個像素的屬性值(可選地,屬性值可以包括灰度值、RGB中任意一值、色差值),在比較結果大于指定閾值的情況下,確定該像素為邊界像素;對比邊界像素與相鄰多個像素的屬性值,得到對應每個邊界像素的梯度角度;統計對比得到的多個梯度角度,以出現概率最大的梯度角度作為圖像的法向量方向(即上文所述的垂直于圖像的邊緣的方向)。具體地,在沿圖像的法向量方向進行多條切割線的制作時,可以選擇多行像素,多行像素間隔有像素行;對于選擇的多行像素的每一行像素,在該行像素的中間位置沿圖像的法向量方向制作一條切割線。作為優選地,可以選擇六至十行像素,多行像素中相鄰的兩行像素間具有至少30行像素行,能夠平衡PSF的計算量和精度。
[0063]步驟S103,對于多條切割線中的每一條切割線,根據該切割線所經過的每個像素的屬性值形成觀測序列,在此之前,根據本發明實施例的方法可以對于多條切割線中的每一條切割線所經過的每個像素,利用雙線性插值法計算該像素的實際屬性值;并進一步計算位于垂直于該像素的法向量方向上的多個像素的實際屬性值;以該像素的實際屬性值與位于垂直于該像素的法向量方向上的多個像素的實際屬性值的平均值作為該像素的屬性值,雖然文中未示出,但是本領域公知的方法中也包括可以以該像素的其它方向相鄰的多個像素的實際屬性值為根據,得出平均值作為該像素的屬性值。
[0064]步驟S105,對形成的多個觀測序列進行數學變換得到對應該多個觀測序列的多個多項式,優選地,數學變換為ζ變換(z-translation,用于對離散序列進行數學變換,以將分散的信號從時域轉換到頻域);
[0065]步驟S107,計算多個多項式的最大公因子作為圖像的點擴展函數,具體地,對于每個邊界像素,可以獲取該邊界像素兩側的多個像素的屬性值;計算該多個像素的屬性值的梯度絕對值(也可以稱為前向梯度的絕對值),并根據所有連續出現的其梯度絕對值大于一預定閾值的像素的數量總和來確定所述點擴展函數的階。
[0066]此外,在計算多個多項式的最大公因子時,可以構建理想多項式的系數矩陣,并且根據點擴展函數的階與多個多項式構建多個多項式的系數矩陣,其中,理想多項式為多個多項式對應的理想成像系統成像后獲得的觀測序列的ζ變換得到的多項式(其中,實際成像得到的多項式與理想成像X的多項式的對應關系可以表述為:實際成像得到的多項式=理想成像X的多項式〈卷積〉PSF。假設在實際計算中,取了 6個實際成像得到的多項式,則與此對應的有6個理想成像X的多項式,以及一個共同的PSF。);并且根據多個多項式的系數矩陣及理想多項式的系數矩陣利用多項式除法計算得到多個多項式的最大公因子。
[0067]在實際應用中,可以將本發明的技術方案應用到條碼圖形上,而以像素為依據制作切割線在實際應用中可以包括:在條碼圖形中選擇多行碼字,對于選中的每行碼字,在該行碼字中間位置沿圖像的法向量方向制作一條切割線;由于每個碼字可以包括15X15個像素,切割線必定是經過碼字中的某一行像素,因而,在形成觀測序列時,依然是采用該切割線所經過的每個像素的屬性值形成觀測序列。
[0068]根據本發明的一個實施例,可以將本發明的技術方案應用于二維條碼(以下也簡稱條碼)圖像的點擴展函數的獲得,如圖2所示,為根據本發明的一個實施例的獲得條碼圖像的點擴展函數的方法的流程圖,包括:
[0069]步驟S201,拍攝一副包含條碼的圖像,即,該拍攝的圖像內包含一個模塊尺寸(通常模塊表示條碼中的同色最小單元,文中也稱為條碼碼字)較大的條碼,條碼尺寸可以超過20X20模塊,即條碼在水平方向或者垂直方向上都存在超過20個碼字,該條碼每一個模塊在圖像上占用的像素數量不少于15 X 15個(即模塊寬度大于15個像素)且條碼每個模塊尺寸超過lmmXlmm,且條碼的內容為隨機數據,不重復。此外,打印清晰,使用高分辨率打印設備打印,進一步地,該條碼在拍攝圖像上基本處于中心位置,這樣可以保證每一個模塊的尺寸都超過點擴展函數的尺寸,從而可以將二維PSF的影響等效看作在法線方向上的一維PSF的影響。
[0070]由PSF的定義可以看出,該PSF函數是具有中心對稱性和軸對稱性的二維函數,但是其自由度卻是一維的(其中,自由度,degree of freedom,在計算某一統計量時,變量的數量即為自由度的維數)。當條碼每一個模塊的尺寸超過點擴展函數的尺寸時,該二維函數的影響等效為在條碼法向量上的一維PSF的影響。該一維PSF的值就是任何一條穿過二維PSF中心的切割線的函數值。
[0071]圖2中的步驟S201保證了求得的一維PSF包含了二維PSF的全部信息,同時由于二維PSF求解計算量非常大,因此難以實現實時計算,而一維PSF可以使用多種方法進行實時計算。
[0072]步驟S203,計算條碼的法向量方向,在條碼所在區域中,統計梯度角度的分布,從而獲得條碼的法向量方向,包括:
[0073]a.根據探測圖形定位條碼所在區域,即,在圖像中心位置附近通過條碼探測特征確定條碼范圍,該條碼范圍為大致范圍,范圍內包含條碼主體即可。其中,探測圖形可以理解為所有條碼所共有的位于相同位置的三個或更多小單元,如圖3所示,顯示出了三個探測圖形位于三個頂角,通過定位條碼的探測圖形,可以獲得條碼大致的所在區域,并且本發明的技術方案中無需精確 定位條碼;
[0074]b.在該條碼所在區域中,找到所有邊界像素(也可以稱為邊界點),本發明中定義邊界像素的特征為:與上方或者左方相鄰像素的灰度值之差的絕對值大于指定閾值Th (在未示出的實施例中,定義邊界像素的方法還可以是其它現有技術,例如定義邊界像素為:與下方或者右方相鄰點的灰度差大于指定閾值Th等等,可以根據屬性值的不同以及用戶需求預先確定Th),即滿足:
【權利要求】
1.一種獲得圖像的點擴展函數的方法,其特征在于,包括: 沿所述圖像的法向量方向在所述圖像上制作多條切割線; 對于所述多條切割線中的每一條切割線,根據該切割線所經過的每個像素的屬性值形成觀測序列; 對形成的多個觀測序列進行數學變換得到多個多項式; 計算所述多個多項式的最大公因子作為所述圖像的點擴展函數。
2.根據權利要求1所述的方法,其特征在于,在沿所述圖像的法向量方向在所述圖像上制作多條切割線之前,所述方法進一步包括: 對所述圖像內的每個像素,比較該像素的相鄰兩個像素的屬性值,在比較結果大于指定閾值的情況下,確定該像素為邊界像素; 對比所述邊界像素與相鄰多個像素的屬性值,得到對應每個邊界像素的梯度角度; 統計對比得到的多個梯度角度,以出現概率最大的梯度角度作為所述圖像的法向量方向。
3.根據權利要求1所述的方法,其特征在于,沿所述圖像的法向量方向制作多條切割線包括: 選擇多行像素,所述多行像素間隔有像素行; 對于選擇的所述多行像素的每一行像素,在該行像素的中間位置沿所述圖像的法向量方向制作一條切割線。
4.根據權利要求3所述的方法,其特征在于,選擇多行像素為選擇六至十行像素; 所述多行像素中相鄰的兩行像素間具有至少30行像素行。
5.根據權利要求1所述的方法,其特征在于,在根據該切割線所經過的每個像素的屬性值形成觀測序列之前,所述方法進一步包括: 對于所述多條切割線中的每一條切割線所經過的每個像素,利用雙線性插值法計算該像素的實際屬性值; 計算位于垂直于該像素的法向量方向上的多個像素的實際屬性值; 以該像素的實際屬性值與位于垂直于該像素的法向量方向上的多個像素的實際屬性值的平均值作為該像素的屬性值。
6.根據權利要求2所述的方法,其特征在于,對形成的多個觀測序列進行數學變換得到所述多個多項式包括: 對形成的多個觀測序列進行ζ變換得到所述多個多項式。
7.根據權利要求6所述的方法,其特征在于,在計算所述多個多項式的最大公因子作為所述圖像的點擴展函數之前,所述方法進一步包括: 對于每個邊界像素,獲取該邊界像素兩側的多個像素的屬性值; 計算該多個像素的屬性值的梯度絕對值,并根據所有連續出現的其梯度絕對值大于一預定閾值的像素的數量總和來確定所述點擴展函數的階。
8.根據權利要求7所述的方法,其特征在于,計算所述多個多項式的最大公因子包括: 構建一理想多項式的系數矩陣,并且根據所述點擴展函數的階與所述多個多項式構建所述多個多項式的系數矩陣,其中,所述理想多項式為所述多個多項式對應的理想成像系統成像后獲得的觀測序列的ζ變換得到的多項式;根據所述多個多項式的系數矩陣及所述理想多項式的系數矩陣利用多項式除法計算得到所述多個多項式的最大公因子。
9.根據權利要求1至8中任一項所述的方法,其特征在于,所述屬性值包括以下至少之 灰度值、RGB中任一值、色差值。
10.一種獲得圖像的點擴展函數的裝置,其特征在于,包括: 制作模塊,用于沿所述圖像的法向量方向在所述圖像上制作多條切割線; 序列形成模塊,用于對于所述多條切割線中的每一條切割線,根據該切割線所經過的每個像素的屬性值形成觀測序列; 變換模塊,用于對形成的多個觀測序列進行數學變換得到多個多項式; 計算模塊,用 于計算所述多個多項式的最大公因子作為所述圖像的點擴展函數。
【文檔編號】G06T7/00GK103927740SQ201410055963
【公開日】2014年7月16日 申請日期:2014年2月18日 優先權日:2014年2月18日
【發明者】不公告發明人 申請人:北京象開科技有限公司