本發明涉及一種數字圖像處理領域,具體說是一種用于從局部不變特征點中提取直線的方法。
背景技術:
局部不變特征點是指對圖像的各種變化,例如幾何、光照、模糊、視點等變化保持不變的局部特征點,局部不變特征點通常存在著一個局部支撐區域,它與圖像分割不同,可以是圖像的任何子集,其邊界不一定要對應圖像屬性(如顏色和材質)的變化,而且多個不變特征區域間可能有交叉。局部不變特征點的檢測具有重要的意義,不僅可以提高處理速度,同時還是一種新的圖像表述方法,使得圖像不進行分割就可以描述物體或局部。利用提取的局部不變特征點難以直接用于目標的識別,需要通過將其組成一定的曲線或區域才能作為目標的主要特征,經過多年的發展,出現了一系列在局部不變特征點基礎進一步提取形狀的方法,但就己發表的成果來看,這些方法還存在以下問題:
(1)有效的局部特征點容易受周圍異常點的干擾,導致提取的特征對目標識別的作用大大降低;
(2)提取的結果與目標實際的形狀存在較大的誤差。
技術實現要素:
本發明提供了一種用于從局部不變特征點中提取直線的方法,通過對局部不變特征點進行密度估計,運用方格單元分割的方法,能夠有效地去除干擾特征點的影響,方法簡單易行,輸出結果可靠。
為實現本發明的目標所采用的技術方案是:方法包括以下步驟:
步驟1:利用局部不變特征點提取算法提取輸入圖像的局部不變特征點,結果記為I0,局部不變特征點的數量記為M;
步驟2:從I0中循環選取兩點Pi和Pj,i∈[1,M],j∈[i,M],計算Pi和Pj之間的歐氏距離Dij,當Dij小于閾值TD時,更新Pi和Pj并繼續步驟2,當Dij大于等于閾值TD時,進入步驟3;
步驟3:以Dij為長邊,W0為短邊構造包含Pi和Pj的矩形R0;
步驟4:為了估計局部特征點密度ρ,以Dij為長邊,W1為短邊在矩形R0的兩側分別構造矩形R1和R2,且矩形R1和R2的長邊分別與矩形R0的長邊重合;
步驟5:統計矩形R0、R1和R2中的特征點數,分別記為M0、M1和M2,并對矩形R0周圍的特征點數NL用以下公式進行估計:
NL=2max(M1,M2)+M0 (1)
式(1),max為求最大值函數;
步驟6:用以下公式計算局部特征點密度ρ:
式(2),和分別為矩形R1和R2的面積;
步驟7:對矩形R0進行k等分,得到k個等面積的方格單元,記為rt,t∈[1,k],利用以下公式計算每個方格單元rt至少包含一個局部特征點的概率:
式(3),Sr和分別為方格單元rt和矩形R2的面積;
步驟8:統計包含局部特征點的方格單元的數量C;
步驟9:用以下公式計算k個方格單元中至少有C個方格單元包含特征點的概率P0:
步驟10:用以下公式計算虛警數NFA:
步驟11:將虛警數NFA小于閾值δ的矩形R0包含的局部特征點判定為直線,更新Pi和Pj并繼續步驟2,直到遍歷所有局部特征點。
所述的步驟1中的局部不變特征點提取算法是指SIFT算法、SURF算法、Harris算法和SUSAN算法。
所述的步驟2中的循環選取方法指的是由i∈[1,M]和j∈[i,M]構成內外雙重循環,遍歷所有局部不變特征點,共有M(M-1)/2組局部不變特征點對。
本發明的有益效果是:能夠準確的局部不變特征點集中的直線,可以應用于包含直線邊緣的目標提取。
附圖說明
圖1是本發明的總體處理流程圖。
具體實施方式
下面結合附圖詳細描述本發明的具體實施方式。
在步驟101,輸入待處理圖像I0。
在步驟102,對步驟101的待處理圖像I0利用SURF局部不變特征點提取算法提取局部不變特征點,結果記為I0,并將局部不變特征點的數量記為M。
在步驟103,判斷收否遍歷所有特征點對,如果是,則算法流程結束,進入步驟116,否則進入步驟104。
在步驟104,從M(M-1)/2組局部不變特征點對中選取兩點Pi和Pj,i∈[1,M],j∈[i,M]。
在步驟105,計算步驟104中的Pi和Pj之間的歐氏距離Dij。
在步驟106,判斷步驟105中Pi和Pj之間的歐氏距離Dij是否大于閾值TD時,如果是,則進入步驟107,否則進入步驟103,為了排除短直線的干擾,將閾值TD設置為10個像素。
在步驟107,以Dij為長邊,W0為短邊構造包含Pi和Pj的矩形R0,以Dij為長邊,W1為短邊在矩形R0的兩側分別構造矩形R1和R2,且矩形R1和R2的長邊分別與矩形R0的長邊重合,為了使提取的直線與物體的實際邊界保持一致,將W0將設置為為了對矩形R0周圍的特征點數做出更為準確的估計,將W1設置為
在步驟108,統計矩形R0、R1和R2中的特征點數,分別記為M0、M1和M2,并對矩形R0周圍的特征點數NL用以下公式進行估計:
NL=2max(M1,M2)+M0 (6)
式(6),max為求最大值函數。
在步驟109,用以下公式計算局部特征點密度ρ:
式(7),和分別為矩形R1和R2的面積。
在步驟110,對矩形R0進行k等分,得到k個等面積的方格單元,記為rt,t∈[1,k],利用以下公式計算每個方格單元rt至少包含一個局部特征點的概率:
式(8),Sr和分別為方格單元rt和矩形R2的面積。
在步驟111,統計包含局部特征點的方格單元的數量C。
在步驟112,用以下公式計算k個方格單元中至少有C個方格單元包含特征點的概率P0:
在步驟113,用以下公式計算虛警數NFA:
在步驟114,判斷虛警數NFA是否小于閾值δ,如果是,則進入步驟115,否則進入步驟103。為了保證提取結果的準確性,將閾值δ設置為2。
在步驟115,輸出局部不變特征點中直線。
在步驟116,算法結束。