本申請涉及圖像處理領域,尤其涉及一種條紋集合查找方法、裝置以及系統。
背景技術:
隨著人機交互應用技術得發展,利用手勢擺動等運動物體取代直接接觸計算機裝置,來進行指令的輸入,已成為一種發展趨勢。進而為跟蹤人體手勢或者其他物體運動狀態成為目前需要解決的技術問題?,F有技術提供了一種運動跟蹤系統,能夠通過圖像處理的方法對運動物體的光點進行圖像采集,以實現對運動物體的跟蹤。
但是,在實際的應用場景中,如果閃爍光源到了卷簾式圖像傳感器采集的邊緣時,閃爍光源所產生的條紋圖形在原始圖像中是殘缺不全的,會對圖像識別造成干擾。
技術實現要素:
本發明實施例申請的目的在于提供一種能夠排除殘缺不全的條紋集合的方法。
本發明第一方面提供了一種條紋集合有效性確定方法,包括:獲取二值化圖像中的多個第一連通域;從所述多個第一連通域中選擇出目標連通域;根據所述目標連通域確定條紋集合,從而確定條紋圖形;根據所述條紋集合中的目標連通域計算出所述條紋圖形的中心;根據所述條紋圖形的中心確定所述條紋集合是否為有效條紋集合。
結合第一方面,第一方面的第一種可能的實施方式中,所述獲取二值化圖像中的多個第一連通域之前還包括:接收卷簾式圖像傳感器采集得到的單幀原始圖像,其中,所述原始圖像包括閃爍光源所形成的條紋圖形;根據二值化閾值,對所述原始圖像進行二值化以得到二值化圖像。
結合第一方面,第一方面的第二種可能的實施方式中,從所述多個第一連通域中選擇出目標連通域包括:確定所述多個第一連通域中每個第一連通域的寬度差,將所述每個第一連通域的寬度差和預設的寬度差進行比較,根據比較結果確定其中符合條件的第一連通域為目標連通域。
結合第一方面的第二種可能的實施方式,第一方面的第三種可能的實施方式中,將所述每個第一連通域的寬度差和預設的寬度差進行比較,確定其中符合條件的第一連通域為目標連通域,具體包括:根據卷簾式圖像傳感器成像平面,以預設條紋圖像的條紋長度方向為x軸,并令y軸垂直于所述x軸;遍歷所述多個第一連通域的所有像素點以獲得所述多個第一連通域對應所有像素點的最大列坐標y1和最小列坐標y2,確定所述多個第一連通域中每個第一連通域的寬度差為:每個第一連通域中的像素點最大列坐標y1減去像素點最小列坐標y2;判斷所述多個第一連通域中每個第一連通域的寬度差是否≧kh1且≦kh2,其中,kh1為預設的第一邊界條件參數,kh2為預設的第二邊界條件參數;確定符合寬度差≧kh1且≦kh2的第一連通域為目標連通域。
結合第一方面的第三種可能的實施方式,第一方面的第四種可能的實施方式中,還包括以下步驟:從所述多個第一連通域中刪除寬度差﹤kh1或者﹥kh2的第一連通域。
結合第一方面,第一方面的第五種可能的實施方式中,接收卷簾式圖像傳感器采集得到的原始圖像之后,從所述多個第一連通域中選擇出目標連通域之前包括:對所述原始圖像進行處理以得到條紋圖形模板,并根據所述條紋圖形模板識別出目標連通域,其中,所述條紋圖形模板的形狀為所述原始圖像中的條紋圖形融合而成的斑狀。
結合第一方面的第五種可能的實施方式,第一方面的第六種可能的實施方式中,對所述原始圖像進行處理以得到條紋圖形模板具體為:根據所述濾波的參數對所述原始圖像進行濾波以得到模糊圖像,其中,所述濾波的參數設置為使得所述原始圖像中的各個圖形融合成各自對應的斑塊;對所述模糊圖像進行二值化以得到二值化模糊圖像;對所述二值化模糊圖像查找連通域以獲得多個第二連通域;識別所述多個第二連通域的形狀,并根據與預設的所述閃爍光源所形成的條紋圖形形狀最接近的第二連通域作為條紋圖形模板。
結合第一方面的第六種可能的實施方式,第一方面的第七種可能的實施方式中,根據所述條紋圖形模板識別出目標連通域具體為:判斷所述第一連通域的像素點的坐標是否都包括在所述條紋圖形模板的像素點的坐標構成的集合中;如果是,確定所述第一連通域為目標連通域。
結合第一方面至第七種可能的實施方式中的任意一種,第一方面的第八種可能的實施方式中,所述原始圖像包括多個閃爍光源所形成的多個條紋圖形,根據所述目標連通域確定條紋集合具體為:對所述目標連通域進行分類以獲得多個條紋集合。
結合第一方面的第八種可能的實施方式,第一方面的第九種可能的實施方式中,對所述目標連通域進行分類以獲得多個條紋集合包括:根據所述目標連通域構成條紋集合的條件,確定初始條紋集合,篩選未歸入任何初始條紋集合的所述目標連通域;從未歸入任何初始條紋集合的所述目標連通域中,選取第j個目標連通域,其中j為正整數;以所述第j個目標連通域的質心為圓心,以所述第j個目標連通域的長度為直徑作圓;判斷所述初始條紋集合中的任意一個目標連通域區域是否與所述圓相交;如果相交,則將所述第j個目標連通域歸入對應的所述初始條紋集合,從而得到條紋集合。
結合第一方面的第九種可能的實施方式,第一方面的第十種可能的實施方式中,對所述目標連通域進行分類以獲得多個條紋集合之后還包括:判斷所述條紋集合是否同時滿足以下條件:所述條紋集合中的目標連通域的數量是否大于數量閾值;所述條紋集合中最長的目標連通域的長度是否大于長度閾值;如果不是同時滿足所述條件,則刪除所述條紋集合。
結合第一方面至第十種可能的實施方式中的任意一種,第一方面的第十一種可能的實施方式中,根據所述條紋集合中的目標連通域計算出所述條紋圖形的中心具體為:對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心的坐標值。
結合第一方面的第十一種可能的實施方式,第一方面的第十二種可能的實施方式中,對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心的坐標值具體為:根據公式(1)對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心(u0,v0):
其中,i為所述條紋集合中目標連通域的序號,li為所述條紋集合中目標連通域的數量,
結合第一方面的第十二種可能的實施方式,第一方面的第十三種可能的實施方式中,根據公式(1)對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心(u0,v0)之后,根據所述條紋圖形的中心確定所述條紋集合是否為有效條紋集合之前,還包括:對矩形區域q中的像素點的像素值進行濾波以得到濾波后的像素值,其中,所述矩形區域q為所述條紋圖形的中心(u0,v0)為中心,以所述條紋集合中最大連通域的寬度為邊長的矩形區域;以所述濾波后的像素點的像素值作為權值重新計算所述條紋圖形的中心(u0,v0)的坐標值。
結合第一方面的第十三種可能的實施方式,第一方面的第十四種可能的實施方式中,對矩形區域q中的像素點的像素值進行濾波以得到濾波后的像素值具體為:根據公式(2)對矩形區域q中的像素點的像素值通過濾波模板進行濾波以得到濾波后的像素值
n為所述濾波模板的行數和列數,
結合第一方面的第十三種可能的實施方式,第一方面的第十五種可能的實施方式中,以所述濾波后的像素點的像素值作為權值重新計算所述條紋圖形的中心(u0,v0)的坐標值具體為:
根據公式(3)重新計算所述條紋圖形的中心(u0,v0)的坐標值,其中,
(uj,vj)為矩形區域q中的像素點的坐標值,
結合第一方面第十二至第十五種可能的實施方式中的任意一種,第一方面的第十五種可能的實施方式中,根據所述條紋圖形的中心確定所述條紋集合是否為有效條紋集合具體包括:
判斷所述條紋圖形的中心(u0,v0)是否滿足以下至少一個:
其中,r為所述條紋集合中最大的連通域的寬度,kwide為所述二值化圖像的寬度,kheight為所述二值化圖像的高度;
如果滿足至少一個,則確定所述條紋集合為無效條紋集合,如果不滿足任意一個,則確定所述條紋集合為有效條紋集合。
本發明第二方面提供了一種條紋集合有效性確定裝置,所述裝置包括能夠實現上述任一項所述的方法的單元。
本發明第三方面提供了一種終端,包括卷簾式圖像傳感器、存儲器以及分別與所述卷簾式圖像傳感器、存儲器耦合的處理器,所述存儲器用于存儲所述卷簾式圖像傳感器采集到的圖像以及指令,所述處理器用于執行所述指令,當所述處理器在執行所述指令時,可根據所述指令執行如上述任一項的方法,以實現對所述卷簾式圖像傳感器采集到的圖像進行處理以確定條紋集合的有效性。
本發明第四方面提供了一種運動物體跟蹤系統,包括終端、設置有閃爍光源的控制器,其中,所述終端設置有卷簾式圖像傳感器,所述設置有閃爍光源的控制器被安裝在運動物體上,所述終端為如上述的終端。
本發明第五方面提供了一種圖像處理裝置,包括:處理器以及存儲器,其中,所述處理器連接所述存儲器,所述存儲器用于存儲指令,所述處理器用于執行所述指令,當所述處理器在執行所述指令時,可根據所述指令執行如上述任一項的方法,以實現對所述卷簾式圖像傳感器采集到的圖像進行處理以確定條紋集合的有效性。
本發明第六方面提供了一種圖像處理系統,包括卷簾式圖像傳感器以及圖像處理裝置,所述圖像處理裝置耦合所述卷簾式圖像傳感器,其中,所述圖像處理裝置為如上述所述的圖像處理裝置。
本發明第七方面提供了一種運動物體跟蹤系統,包括卷簾式圖像傳感器、設置有閃爍光源的控制器以及圖像處理裝置,所述圖像處理裝置分別耦合所述卷簾式圖像傳感器以及所述控制器,其中,所述控制器被安裝在運動物體上,所述圖像處理裝置為如上述所述的圖像處理裝置。
本發明第八方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲了確定條紋集合有效性的程序代碼,所述程序代碼包括用于執行如上述任一項所述的方法的指令。
本發明通過從二值化圖像中選擇出目標連通域,并從目標連通域中選擇出條紋集合,在根據條紋集合的目標連通域計算出目標連通域對應的條紋圖形的中心,最后再根據條紋圖形的中心確定條紋集合是否為有效條紋集合,能夠有效地排除殘缺的條紋集合。
附圖說明
圖1是本發明實施例提供的一種運動跟蹤系統的結構示意圖;
圖2是本發明實施例提供的一種運動跟蹤系統中卷簾式圖像傳感器采集到的閃爍光源的條紋圖形的示意圖;
圖3是本發明實施例提供的一種運動跟蹤系統中卷簾式圖像傳感器在實際工作環境中采集到原始圖像;
圖4是本發明實施例提供的一種條紋集合有效性確定方法的流程圖;
圖5是本發明實施例提供的一種條紋集合有效性確定方法中執行步驟420后得到的圖像;
圖6是本發明實施例提供的一種條紋集合查找方法中執行步驟440后得到的圖像;
圖7是本發明實施例提供的一種條紋集合查找方法中執行步驟450后得到的圖像;
圖8是本發明實施例提供的一種條紋集合查找方法中執行步驟470后得到的圖像;
圖9是本發明實施例提供的一種終端的結構示意圖。
具體實施方式
如圖1以及圖2所示,本發明實施例公開了一種運動跟蹤系統,包括卷簾式圖像傳感器110、設置有閃爍光源121的控制器120以及圖像處理裝置130。
卷簾式圖像傳感器110為帶有卷簾快門(rollingshutter)功能的圖像傳感器,例如,設置有電子卷簾快門(electronicrollingshutter)的cmos(complementarymetaloxidesemiconductor,互補金屬氧化物半導體)傳感器以及設置有卷簾快門(rollingshutter)的ccd(charge-coupleddevice,電荷耦合元件)傳感器等等。卷簾式圖像傳感器可以設置在圖像處理裝置上,也可以設置在獨立的第三方設備上。卷簾式圖像傳感器為帶有卷簾快門(rollingshutter)功能的圖像傳感器以行掃描或者列掃描的方式進行掃描。
控制器120可以是帶有閃爍光源的游戲手柄、指示棒、體感鼠標等等。控制器的數量可以是一個,也可以是多個。每個控制器上的閃爍光源的數量可以是一個,也可以是多個。閃爍光源為具備有較穩定閃爍頻率或者變化閃爍頻率的光源,例如,led燈等等,通過控制輸入到led等的電源的占空比,可以控制led燈按照固定的頻率或者非固定的頻率進行閃爍。其中,閃爍光源的閃爍頻率大于卷簾式圖像傳感器的掃描頻率。
圖像處理裝置130可以是嵌入式處理器、數字圖像處理器、智能手機、計算機、平板電腦、筆記本等具有良好計算能力的實體。圖像處理裝置上可以設置有卷簾式圖像傳感器,也可以不設置卷簾式圖像傳感器。
這里的卷簾式圖像傳感器110為帶有卷簾式快門功能的圖像傳感器,用于對控制器120上的閃爍光源進行曝光成像以得到原始圖像。閃爍光源為具備有較穩定閃爍頻率或者變化閃爍頻率的光源,能夠影響卷簾式圖像傳感器110在原始圖像的水平方向上形成明暗間隔的圖形。具體地,當閃爍光源為“亮”時,卷簾式圖像傳感器110對閃爍光源進行掃描,則原始圖像中會對應出現一個亮條紋;當閃爍光源為“滅”時,卷簾式圖像傳感器110對閃爍光源進行掃描,則原始圖像中會對應出現一個暗條紋。由于閃爍光源的閃爍頻率大于卷簾式圖像傳感器110的掃描頻率,所以,卷簾式圖像傳感器110在完成對閃爍光源的掃描后,原始圖像中會對應出現一個多個明暗間隔條紋所組成的圖形。
以圖3為例,由于實際成像環境的影響,曝光成像后,除了對閃爍光源331以及332拍攝所形成的圖形外,原始圖像中還會不可避免地存在環境中的日光燈310所形成的光斑狀的圖形和白熾燈320所形成的光斑狀的圖形。所以,在卷簾式圖像傳感器110采集到原始圖像后,需要將原始圖像發送給圖像處理裝置,并由圖像處理裝置對原始圖像進行圖像處理,以排除日光燈310所形成的光斑狀的圖形和白熾燈320所形成的光斑狀的圖形的影響,從原始圖像中識別出閃爍光源331和332所形成的條紋圖形。
其中,在一般情況下,原始圖像中的條紋圖形是由閃爍光源331和332所曝光形成的明暗間隔的圖形中的多個亮條紋或者多個暗條紋組成的。為了便于陳述,下面均以亮條紋為例。原始圖像中的條紋圖形的輪廓的形狀與閃爍光源331和332的形狀相關,例如,如果閃爍光源331和332的形狀是圓形的,則條紋圖形是由長短不一的亮條紋所構成,而且條紋圖形的輪廓是圓形,如果閃爍光源331和332的形狀是長方形狀的,則條紋圖形是由長度相同的亮條紋所構成的,而且,條紋圖形的輪廓是長方形。條紋圖形中的亮條紋的寬度與閃爍光源331和332的閃爍周期相關,閃爍光源331和332的閃爍周期越長,亮條紋的寬度越寬。在極限狀況下,如果閃爍光源331和332的閃爍周期為無窮大,則閃爍光源331和332在原始圖像上將會形成一個沒有條紋的全亮光斑。原始圖像中的條紋圖形的數量和卷簾式圖像傳感器采集范圍內的閃爍光源331和332的個數一一對應,例如,卷簾式圖像傳感器110采集范圍內的閃爍光源的個數為2個,則原始圖像中條紋圖形的數量也為2個。
下面進一步具體說明對所述圖像處理裝置對原始圖像進行處理以排除閃爍光源所形成的殘缺的條紋圖形的過程。如圖4所示,
410:接收卷簾式圖像傳感器采集得到的原始圖像,其中,原始圖像包括閃爍光源所形成的條紋圖形。進一步的,本步驟中,接收卷簾式圖像傳感器采集得到的單幀原始圖像,該單幀原始圖像可以為卷簾式圖像傳感器的拍攝得到的包含一個或多個閃爍光源所形成的具有不同寬度特征條紋的一幅圖像。
420:對原始圖像進行二值化以得到二值化圖像,其中,二值化閾值設置為條紋圖形對應的像素點的值為第一值。
430:對二值化圖像中像素值為第一值的像素點查找連通域以獲得多個第一連通域。
440:從多個第一連通域中選擇出目標連通域,其中,目標連通域為所述條紋所形成的連通域。
450:根據目標連通域確定條紋集合,其中,條紋集合為條紋圖形對應的目標通域所構成的集合。
460:根據條紋集合中的目標連通域計算出條紋圖形的中心。
470:根據條紋圖形的中心確定條紋集合是否為有效條紋集合。
在一具體的實施例中,接收卷簾式圖像傳感器采集得到的原始圖像具體為:由于卷簾式圖像傳感器可以是集成在圖像處理裝置中的,也可以是設置在獨立的第三方設備中的,所以,原始圖像可以是圖像處理裝置直接通過卷簾式圖像傳感器對閃爍光源進行曝光成像得到的,也可以為圖像處理裝置間接接收到第三方設備轉發的對閃爍光源進行曝光成像的圖像得到的。
在一具體的實施例中,終端接收到卷簾式圖像傳感器采集得到的原始圖像后,對圖像進行二值化以得到二值化圖像。具體地,對于原始圖像,可以根據下面的公式進行二值化:
其中,i為原始圖像中的像素點的序號,p(i)為原始圖像中的像素點i的像素值,x為預設的二值化閾值,p1為預設的第一值,p2為預設的第二值。由于閃爍光源的像素值和白熾燈、日光燈的像素值相近,而閃爍光源的像素值遠不同于背景的像素值。所以,可以預先設置二值化閾值x使得閃爍光源所形成的條紋圖形和白熾燈、日光燈等所形成的光斑狀圖形對應的像素點的像素值大于二值化閾值x,背景的像素點的像素值小于或等于二值化閾值x。通常而言,當第一值預設為“1”時,第二值預設為“0”;當第一值預設為“0”時,第二值預設為“1”。如圖5所示的,經過二值化后得到的二值化圖像中,閃爍光源所形成的條紋圖形和白熾燈、日光燈等所形成的光斑狀圖形對應的像素點的像素值被設置為“1”,背景對應的像素點的像素值被設置為“0”。
在一具體的實施方式中,設置二值化閾值的方式可以包括:全局預設閾值法、自適應閾值法以及局部閾值法等等。
在本發明實施方式中,所述全局預設閾值法可以通過如下方式實現:預設一個全局閾值,對所有幀的原始圖像均采用同一個全局閾值作為二值化閾值。對于具體的一幀原始圖像,原始圖像中的所有像素點均和該二值化閾值進行比較,從而得到二值化圖像。其中,全局閾值可以根據經驗人工設置。
在本發明實施方式中,所述自適應閾值法可以通過如下方式實現:根據以往的幾幀原始圖像的信息確定當前幀原始圖像的二值化閾值。對于當前幀原始圖像,原始圖像中的所有像素點均和當前幀原始圖像的二值化閾值進行比較,從而得到二值化圖像。
在本發明實施方式中,所述局部閾值法可以通過如下方式實現:以從上往下以及從左往右的順序依次掃描圖像,對每個像素i,判斷像素i的像素值是否小于預設閾值。如果小于預設閾值,則暫時不作處理。如果大于或者等于預設閾值,在當前像素點i的n×n鄰域內計算像素值的平均值或者高斯平均值,并將計算得到的平均值或者高斯平均值作為當前像素點i的二值化閾值,其中,n為大于0的正整數。將像素點i的像素值和像素點i的二值化閾值進行比較,如果大于像素點i的二值化閾值,則設置為第一值,最后,將小于預設閾值的像素點設置為第二值,從而得到二值化圖像。
在一具體的實施例中,在得到二值化圖像后,對二值化圖像中像素值為第一值的像素點查找連通域以獲得多個第一連通域。具體地,在二值化圖像中,如果像素點a與像素點b為4鄰接或者8鄰接,則像素點a與像素點b連通。其中,像素點i(x,y)與像素點i(x-1,y)、像素點i(x+1,y)、像素點i(x,y-1)、像素點i(x,y+1)4鄰接;像素點i(x,y)與像素點i(x-1,y-1)、像素點i(x-1,y)、像素點i(x-1,y+1)、像素點i(x,y-1)、像素點i(x,y+1)、像素點i(x+1,y-1)、像素點i(x+1,y)、像素點i(x+1,y+1)8鄰接。如果像素點a與像素點b連通,像素點b與像素點c連通,則像素點a、b和c均屬于同一個連通域。通過two-pass法或者seed-filling種子填充法等算法查找連通域后,可以得到多個第一連通域。以圖5為例,這些第一連通域中,包括:閃爍光源331和332所形成的條紋圖形所對應的第一連通域,其中,條紋圖形中的每個條紋對應得到一個第一連通域;白熾燈320所形成的光斑狀圖形對應的第一連通域,其中,一個白熾燈320所形成的光斑狀圖形對應得到一個第一連通域;日光燈310所形成的光斑狀圖形對應的第一連通,其中,一個日光燈310所形成的光斑狀圖形對應得到一個第一連通域。
在一具體的實施例中,在得到多個第一連通域后,從多個第一連通域中選擇出閃爍光源形成的條紋圖形對應的第一連通域以作為目標連通域。具體地,可以通過以下的兩種方式獲得目標連通域:
在第一種方式中,確定多個第一連通域中每個第一連通域的寬度差,將每個第一連通域的寬度差和預設的寬度差進行比較,根據比較結果確定其中符合條件的第一連通域為目標連通域。具體地,由于條紋圖形中的條紋對應的第一連通域的寬度差遠小于日光燈和白熾燈對應的第一連通域的寬度差,而且,條紋圖形中的條紋對應的第一連通域的寬度差不可能太小,所以,可以通過下面的方法判斷第一連通域是否為目標連通域。首先,根據卷簾式圖像傳感器成像平面,以預設條紋圖像的條紋長度方向為x軸,并令y軸垂直于所述x軸。遍歷多個第一連通域的所有像素點以獲得多個第一連通域對應所有像素點的最大列坐標y1和最小列坐標y2,確定多個第一連通域中每個第一連通域的寬度差為:每個第一連通域中的像素點最大列坐標y1減去像素點最小列坐標y2;判斷多個第一連通域中每個第一連通域的寬度差是否≧kh1且≦kh2,其中,kh1為預設的第一邊界條件參數,kh2為預設的第二邊界條件參數。確定符合寬度差≧kh1且≦kh2的第一連通域為目標連通域,不符合寬度差≧kh1且≦kh2的第一連通域不是目標連通域。將不是目標連通域的第一連通域刪去。以圖6為例,將不是目標連通域的第一連通域刪去后,如圖示的結果。
在一具體的實施方式中,第一邊界條件參數kh1以及第二邊界條件參數kh2可以根據如下方式確定:如果閃爍光源的閃爍周期為t,閃爍光源的調制信號的占空比為φ,卷簾式圖像傳感器行或列曝光時間為t,則第一邊界條件參數kh1=(φ*t)/(2t),第二邊界條件參數kh2=k*(φ*t)/(2t),其中k為調優參數。
在第二種方式中,對原始圖像進行處理以得到條紋圖形模板,并根據條紋圖形模板識別出目標連通域,其中,條紋圖形模板的形狀為原始圖像中的條紋圖形融合而成的斑狀。具體地,根據濾波的參數對原始圖像進行濾波以得到模糊圖像,其中,濾波的參數設置為使得原始圖像中的各個圖形融合成各自對應的斑塊。然后,對模糊圖像進行二值化以得到二值化模糊圖像。之后,對二值化模糊圖像查找連通域以獲得多個第二連通域。識別多個第二連通域的形狀,并根據與預設的閃爍光源所形成的條紋圖形形狀最接近的第二連通域作為條紋圖形模板。如此處理后所得到的第二連通域包括:條紋圖形所構成的斑狀圖形對應的第二連通域,其中,一個條紋圖形對應得到一個第二連通域;白熾燈所形成的光斑狀圖形對應的第二連通域,其中,一個白熾燈所形成的光斑狀圖形對應得到一個第二連通域;日光燈所形成的光斑狀圖形對應的第二連通,其中,一個日光燈所形成的光斑狀圖形對應得到一個第二連通域。而且,由于條紋圖形所構成的斑狀圖形對應的第二連通域、白熾燈所形成的光斑狀圖形對應的第二連通域和日光燈所形成的光斑狀圖形對應的第二連通域的形狀各不相同,所以,可以識別多個第二連通域的形狀,并選擇與預設的閃爍光源所形成的條紋圖形形狀最接近的第二連通域作為條紋圖形模板。此后,找出條紋圖形模板中的像素點的坐標的集合。如果判斷第一連通域的所有像素點的坐標都落入條紋圖形模板的像素點的坐標構成的集合內,則可以確定第一連通域為目標連通域,反之,則可以確定第一連通域不是目標連通域。對每一個第一連通域都進行上述的判斷,就可以將條紋圖形對應的所有目標連通域都查找出來。
在一具體的實施例中,如果原始圖像包括多個閃爍光源所形成的多個條紋圖形,則還需要對查找到的目標連通域進行分類以獲得多個條紋集合。具體地,根據目標連通域構成條紋集合的條件,確定初始條紋集合,篩選未歸入任何初始條紋集合的目標連通域。其中,目標連通域構成條紋集合的條件可以是隨機選擇一個未歸入任何一個條紋集合的目標連通域,將選擇出來的目標連通域歸入初始條紋集合,從而得到初始條紋集合。然后,從未歸入任何條紋集合的目標連通域中,選取第j個目標連通域,其中j為正整數。以第j個目標連通域的質心為圓心,以第j個目標連通域的長度為直徑作圓;判斷初始條紋集合中的任意一個目標連通域區域是否與圓相交。如果相交,則將第j個目標連通域歸入對應的初始條紋集合。對所有未歸入任何一個條紋集合的目標連通域按上述的方法進行判斷后,則初始條紋集合被對應更新為條紋集合。完成查找后,查找的結果如圖7所示。
在一具體的實施例中,由于目標連通域個數太少的條紋集合和最長的目標連通域長度太短的條紋集合都是不及格的條紋集合,所以,為了提高查找條紋集合的準確性,還可以在完成查找后進行如下判斷,以將不符合的條紋集合去掉。具體地,判斷條紋集合是否同時滿足以下條件:條紋集合中的目標連通域的數量是否大于數量閾值;條紋集合中最長的目標連通域的長度是否大于長度閾值。如果不是同時滿足所述條件,則刪除條紋集合,如果同時滿足所述條件,則保留條紋集合。
在一具體的實施例中,根據條紋集合中的目標連通域計算出條紋圖形的中心可以包括:對條紋集合中的目標連通域的中心的坐標值求平均以得到條紋圖形的中心的坐標值,或者,對條紋集合中的目標連通域的所有像素點的坐標值求平均以得到條紋圖形的中心的坐標值等等。
在具體的實現中,對條紋集合中的目標連通域的中心的坐標值求平均以得到條紋圖形的中心的坐標值可以是:根據公式(1)對條紋集合中的目標連通域的中心的坐標值求平均以得到條紋圖形的中心(u0,v0):
其中,i為條紋集合中目標連通域的序號,li為條紋集合中目標連通域的數量,
在具體的實現中,對條紋集合中的目標連通域的中心的坐標值求平均以得到條紋圖形的中心的坐標值還可以是:首先,根據公式(1)對條紋集合中的目標連通域的中心的坐標值求平均以得到條紋圖形的中心(u0,v0):
其中,i為條紋集合中目標連通域的序號,li為條紋集合中目標連通域的數量,
其中,n為濾波模板的行數和列數,
其中,(uj,vj)為矩形區域q中的像素點的坐標值,
在一具體的實施例中,可以通過如下的方法判斷確定條紋集合是否為有效條紋集合,具體地:判斷所述條紋圖形的中心(u0,v0)是否滿足以下至少一個:
其中,r為條紋集合中最大的連通域的寬度,kwide為二值化圖像的寬度,kheight為二值化圖像的高度;如果滿足至少一個,則確定條紋集合為無效條紋集合,如果不滿足任意一個,則確定條紋集合為有效條紋集合。經過判斷確定條紋集合是否為有效條紋集合之后,得到的圖像如圖8所示。
參閱圖9,本發明還提供了一種終端,具體來講:終端500可以包括rf(radiofrequency,射頻)電路510、包括有一個或一個以上計算機可讀存儲介質的存儲器520、輸入單元530、顯示單元540、傳感器550、音頻電路5160、wifi(wirelessfidelity,無線保真)模塊570、包括有一個或者一個以上處理核心的處理器580、以及電源590等部件。本領域技術人員可以理解,圖8中示出的終端結構并不構成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
rf電路510可用于收發信息或通話過程中,信號的接收和發送,特別地,將基站的下行信息接收后,交由一個或者一個以上處理器580處理;另外,將涉及上行的數據發送給基站。通常,rf電路510包括但不限于天線、至少一個放大器、調諧器、一個或多個振蕩器、用戶身份模塊(sim)卡、收發信機、耦合器、lna(lownoiseamplifier,低噪聲放大器)、雙工器等。此外,rf電路510還可以通過無線通信與網絡和其他設備通信。所述無線通信可以使用任一通信標準或協議,包括但不限于gsm(globalsystemofmobilecommunication,全球移動通訊系統)、gprs(generalpacketradioservice,通用分組無線服務)、cdma(codedivisionmultipleaccess,碼分多址)、wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)、lte(longtermevolution,長期演進)、電子郵件、sms(shortmessagingservice,短消息服務)等。
存儲器520可用于存儲軟件程序以及模塊,處理器580通過運行存儲在存儲器520的軟件程序以及模塊,從而執行各種功能應用以及數據處理。存儲器520可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據終端500的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器520可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。相應地,存儲器520還可以包括存儲器控制器,以提供處理器580和輸入單元530對存儲器520的訪問。
輸入單元530可用于接收輸入的數字或字符信息,以及產生與用戶設置以及功能控制有關的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。具體地,輸入單元530可包括觸敏表面531以及其他輸入設備532。觸敏表面531,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面531上或在觸敏表面531附近的操作),并根據預先設定的程式驅動相應的連接裝置??蛇x的,觸敏表面531可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器580,并能接收處理器580發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸敏表面531。除了觸敏表面531,輸入單元530還可以包括其他輸入設備532。具體地,其他輸入設備532可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元540可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端500的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標、視頻和其任意組合來構成。顯示單元540可包括顯示面板541,可選的,可以采用lcd(liquidcrystaldisplay,液晶顯示器)、oled(organiclight-emittingdiode,有機發光二極管)等形式來配置顯示面板541。進一步的,觸敏表面531可覆蓋顯示面板541,當觸敏表面531檢測到在其上或附近的觸摸操作后,傳送給處理器580以確定觸摸事件的類型,隨后處理器580根據觸摸事件的類型在顯示面板541上提供相應的視覺輸出。雖然在圖8中,觸敏表面531與顯示面板541是作為兩個獨立的部件來實現輸入和輸入功能,但是在某些實施例中,可以將觸敏表面531與顯示面板541集成而實現輸入和輸出功能。
終端500還可包括至少一種傳感器550,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環境光傳感器及接近傳感器,其中,環境光傳感器可根據環境光線的明暗來調節顯示面板541的亮度,接近傳感器可在終端500移動到耳邊時,關閉顯示面板541和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態的應用(比如橫豎屏切換、相關游戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至于終端500還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路560、揚聲器561,傳聲器562可提供用戶與終端500之間的音頻接口。音頻電路560可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器561,由揚聲器561轉換為聲音信號輸出;另一方面,傳聲器562將收集的聲音信號轉換為電信號,由音頻電路560接收后轉換為音頻數據,再將音頻數據輸出處理器580處理后,經rf電路510以發送給比如另一終端,或者將音頻數據輸出至存儲器520以便進一步處理。音頻電路560還可能包括耳塞插孔,以提供外設耳機與終端500的通信。
wifi屬于短距離無線傳輸技術,終端500通過wifi模塊570可以幫助用戶收發電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯網訪問。雖然圖8示出了wifi模塊570,但是可以理解的是,其并不屬于終端500的必須構成,完全可以根據需要在不改變發明的本質的范圍內而省略。
處理器580是終端500的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執行存儲在存儲器520內的軟件程序和/或模塊,以及調用存儲在存儲器520內的數據,執行終端500的各種功能和處理數據,從而對手機進行整體監控??蛇x的,處理器580可包括一個或多個處理核心;優選的,處理器580可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖牵鲜稣{制解調處理器也可以不集成到處理器580中。
終端500還包括給各個部件供電的電源590(比如電池),優選的,電源可以通過電源管理系統與處理器580邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。電源590還可以包括一個或一個以上的直流或交流電源、再充電系統、電源故障檢測電路、電源轉換器或者逆變器、電源狀態指示器等任意組件。
盡管未示出,終端500還可以包括攝像頭、藍牙模塊等,在此不再贅述。具體在本實施例中,終端的顯示單元是觸摸屏顯示器,終端還包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經配置以由一個或者一個以上處理器執行述一個或者一個以上程序包含用于進行以下操作的指令:
獲取二值化圖像中的多個第一連通域;
從所述多個第一連通域中選擇出目標連通域;
根據所述目標連通域確定條紋集合,從而確定條紋圖形;
根據所述條紋集合中的目標連通域計算出所述條紋圖形的中心;
根據所述條紋圖形的中心確定所述條紋集合是否為有效條紋集合。
可選地,所述獲取二值化圖像中的多個第一連通域之前還包括:接收卷簾式圖像傳感器采集得到的單幀原始圖像,其中,所述原始圖像包括閃爍光源所形成的條紋圖形;根據二值化閾值,對所述原始圖像進行二值化以得到二值化圖像。
可選地,從所述多個第一連通域中選擇出目標連通域包括:確定所述多個第一連通域中每個第一連通域的寬度差,將所述每個第一連通域的寬度差和預設的寬度差進行比較,根據比較結果確定其中符合條件的第一連通域為目標連通域。
可選地,將所述每個第一連通域的寬度差和預設的寬度差進行比較,確定其中符合條件的第一連通域為目標連通域,具體包括:根據卷簾式圖像傳感器成像平面,以預設條紋圖像的條紋長度方向為x軸,并令y軸垂直于所述x軸;遍歷所述多個第一連通域的所有像素點以獲得所述多個第一連通域對應所有像素點的最大列坐標y1和最小列坐標y2,確定所述多個第一連通域中每個第一連通域的寬度差為:每個第一連通域中的像素點最大列坐標y1減去像素點最小列坐標y2;判斷所述多個第一連通域中每個第一連通域的寬度差是否≧kh1且≦kh2,其中,kh1為預設的第一邊界條件參數,kh2為預設的第二邊界條件參數;確定符合寬度差≧kh1且≦kh2的第一連通域為目標連通域。
可選地,還包括以下步驟:從所述多個第一連通域中刪除寬度差﹤kh1或者﹥kh2的第一連通域。
可選地,接收卷簾式圖像傳感器采集得到的原始圖像之后,從所述多個第一連通域中選擇出目標連通域之前包括:對所述原始圖像進行處理以得到條紋圖形模板,并根據所述條紋圖形模板識別出目標連通域,其中,所述條紋圖形模板的形狀為所述原始圖像中的條紋圖形融合而成的斑狀。
可選地,對所述原始圖像進行處理以得到條紋圖形模板具體為:根據所述濾波的參數對所述原始圖像進行濾波以得到模糊圖像,其中,所述濾波的參數設置為使得所述原始圖像中的各個圖形融合成各自對應的斑塊;對所述模糊圖像進行二值化以得到二值化模糊圖像;對所述二值化模糊圖像查找連通域以獲得多個第二連通域;識別所述多個第二連通域的形狀,并根據與預設的所述閃爍光源所形成的條紋圖形形狀最接近的第二連通域作為條紋圖形模板。
可選地,根據所述條紋圖形模板識別出目標連通域具體為:判斷所述第一連通域的像素點的坐標是否都包括在所述條紋圖形模板的像素點的坐標構成的集合中;如果是,確定所述第一連通域為目標連通域。
可選地,所述原始圖像包括多個閃爍光源所形成的多個條紋圖形,根據所述目標連通域確定條紋集合具體為:對所述目標連通域進行分類以獲得多個條紋集合。
可選地,對所述目標連通域進行分類以獲得多個條紋集合包括:根據所述目標連通域構成條紋集合的條件,確定初始條紋集合,篩選未歸入任何初始條紋集合的所述目標連通域;從未歸入任何初始條紋集合的所述目標連通域中,選取第j個目標連通域,其中j為正整數;以所述第j個目標連通域的質心為圓心,以所述第j個目標連通域的長度為直徑作圓;判斷所述初始條紋集合中的任意一個目標連通域區域是否與所述圓相交;如果相交,則將所述第j個目標連通域歸入對應的所述初始條紋集合,從而得到條紋集合。
可選地,對所述目標連通域進行分類以獲得多個條紋集合之后還包括:判斷所述條紋集合是否同時滿足以下條件:所述條紋集合中的目標連通域的數量是否大于數量閾值;所述條紋集合中最長的目標連通域的長度是否大于長度閾值;如果不是同時滿足所述條件,則刪除所述條紋集合。
可選地,根據所述條紋集合中的目標連通域計算出條紋圖形的中心具體為:對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心的坐標值。
可選地,對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心的坐標值具體為:
根據公式(1)對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心(u0,v0):
其中,i為所述條紋集合中目標連通域的序號,li為所述條紋集合中目標連通域的數量,
可選地,根據公式(1)對所述條紋集合中的目標連通域的中心的坐標值求平均以得到所述條紋圖形的中心(u0,v0)之后,根據所述條紋圖形的中心確定所述條紋集合是否為有效條紋集合之前,還包括:對矩形區域q中的像素點的像素值進行濾波以得到濾波后的像素值,其中,所述矩形區域q為所述條紋圖形的中心(u0,v0)為中心,以所述條紋集合中最大連通域的寬度為邊長的矩形區域;以所述濾波后的像素點的像素值作為權值重新計算所述條紋圖形的中心(u0,v0)的坐標值。
可選地,對矩形區域q中的像素點的像素值進行濾波以得到濾波后的像素值具體為:根據公式(2)對矩形區域q中的像素點的像素值通過濾波模板進行濾波以得到濾波后的像素值
n為所述濾波模板的行數和列數,
可選地,以所述濾波后的像素點的像素值作為權值重新計算所述條紋圖形的中心(u0,v0)的坐標值具體為:
根據公式(3)重新計算所述條紋圖形的中心(u0,v0)的坐標值,其中,
(uj,vj)為矩形區域q中的像素點的坐標值,
可選地,根據所述條紋圖形的中心確定所述條紋集合是否為有效條紋集合具體包括:
判斷所述條紋圖形的中心(u0,v0)是否滿足以下至少一個:
其中,r為所述條紋集合中最大的連通域的寬度,kwide為所述二值化圖像的寬度,kheight為所述二值化圖像的高度;如果滿足至少一個,則確定所述條紋集合為無效條紋集合,如果不滿足任意一個,則確定所述條紋集合為有效條紋集合。
為進一步優化運動跟蹤系統,本發明實施例還公開了另一種運動跟蹤系統,與圖1所示的運動跟蹤系統的不同之處在于,所述卷簾式圖像傳感器和所述圖像處理裝置均集成在終端中。其中,終端可以是智能手機、筆記本電腦、平板電腦、行車記錄儀、錄像機、投影儀等等。
本發明實施例還公開了一種圖像處理系統,與圖1所示的運動跟蹤系統的不同之處在于,所述圖像處理系統只包括卷簾式圖像傳感器以及圖像處理裝置,不包括控制器。
本發明實施例還提供了一種條紋集合查找裝置,所述裝置包括能夠實現如圖4所示的方法的單元,具體請參閱圖4以及相關描述,此處不再展開描述。
本申請的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執行本申請各個實施方式所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。