本發明涉及信號處理技術領域,特別是涉及一種擦除筆跡的識別方法和系統。
背景技術:
畫圖功能為各類智能終端(如個人計算機、平板電腦等)的操作系統所攜帶的畫圖軟件,以及各種圖像數據處理軟件具備的重要功能。對相應畫板上的筆跡進行擦除是上述畫圖功能中的重要內容。
傳統方案在利用畫圖軟件或者圖像數據處理軟件上的擦除工具進行畫板上相應筆跡的擦除過程中,需要通過擦除工具(如橡皮擦或者擦除框等)選中相應畫板上的筆跡,再檢測筆跡與相應的擦除工具范圍之間的關系,根據檢測結果執行上述擦除工具的擦除功能;比如,若某筆跡在擦除工具范圍內,則利用擦除工具擦除上述擦除工具范圍內的筆跡。在對筆跡與擦除工具范圍之間的關系進行檢測的過程中,傳統方案需要對畫板上的各個筆跡進行遍歷,以實現擦除工具范圍內筆跡的檢測,該過程存在較大的遍歷工作量,容易影響擦除筆跡的效率。
技術實現要素:
基于此,有必要針對傳統方案在筆跡擦除的過程中,存在較大的遍歷工作量,容易影響擦除筆跡的效率的技術問題,提供一種擦除筆跡的識別方法和系統。
一種擦除筆跡的識別方法,包括如下步驟:
獲取筆跡上斜率方向發生變化的筆跡拐點;所述筆跡拐點包括筆跡上的起始點、終止點以及兩側筆跡的斜率之積不為正的點;
分別以相鄰的兩個筆跡拐點為頂點構建最小外接矩形,獲取與擦除工具范圍相交的最小外接矩形,得到若干個目標檢測區域;
分別對各個目標檢測區域內的筆跡進行遍歷,識別落在所述擦除工具范圍內的筆跡段。
一種擦除筆跡的識別系統,包括:
檢測模塊,獲取筆跡上斜率方向發生變化的筆跡拐點;所述筆跡拐點包括筆跡上的起始點、終止點以及兩側筆跡的斜率之積不為正的點;
構建模塊,分別以相鄰的兩個筆跡拐點為頂點構建最小外接矩形,獲取與擦除工具范圍相交的最小外接矩形,得到若干個目標檢測區域;
識別模塊,分別對各個目標檢測區域內的筆跡進行遍歷,識別落在所述擦除工具范圍內的筆跡段。
上述擦除筆跡的識別方法和系統,可以檢測筆跡上的筆跡拐點,根據上述筆跡拐點構建相應的最小外接矩形,以此獲取與相應擦除工具范圍相交的目標檢測區域,再對各個目標檢測區域內的筆跡進行遍歷,識別落在所述擦除工具范圍內的筆跡段,以對落在所述擦除工具范圍內的筆跡段進行擦除等處理,其中僅需對相應目標檢測區域內的筆跡進行遍歷,使遍歷工作量得到有效的降低,有助于降低相應擦除過程的工作量,從而提高了筆跡的擦除效率。
附圖說明
圖1為一個實施例的擦除筆跡的識別方法流程圖;
圖2為一個實施例的筆跡示意圖;
圖3為一個實施例的筆跡示意圖;
圖4為一個實施例的擦除筆跡的識別系統結構示意圖。
具體實施方式
下面結合附圖對本發明的擦除筆跡的識別方法和系統的具體實施方式作詳細描述。
參考圖1,圖1所示為一個實施例的擦除筆跡的識別方法流程圖,包括如下步驟:
S10,獲取筆跡上斜率方向發生變化的筆跡拐點;所述筆跡拐點包括筆跡上的起始點、終止點以及兩側筆跡的斜率之積不為正的點;
上述筆跡為用戶通過鼠標或者觸摸筆等輸入工具輸入相應畫板上的筆跡,筆跡上某點對應的斜率可以為該點切線的斜率,斜率符號通常與筆跡的變化趨勢相關。
若上述筆跡如圖2所示,則該筆跡的筆跡拐點包括:起始點A點、C點、D點和終止點E點;其中,C點和D點兩側筆跡的斜率之積為負。其中B點為該筆跡上的其他點。
S20,分別以相鄰的兩個筆跡拐點為頂點構建最小外接矩形,獲取與擦除工具范圍相交的最小外接矩形,得到若干個目標檢測區域;
上述步驟可以構建一個筆跡上述任意相鄰兩個筆跡拐點之間的最小外接矩形,以保證所構建的矩形區域在包括相應筆跡的基礎上,面積范圍達到最小,以減小后續在該矩形區域進行遍歷的工作量。如圖2所示,筆跡的筆跡拐點包括:起始點A點、C點、D點和終止點E點,則所構建矩形區域為:A點和C點之間的最小外接矩形51,C點和D點之間的最小外接矩形52,D點和E點之間的最小外接矩形53。
上述擦除工具范圍內為橡皮擦或者擦除框等擦除工具在畫板上對應的擦除范圍,擦除工具范圍的尺寸參數可以由相應用戶設置,其通常為一個矩形范圍。上述橡皮擦或者擦除框可以如圖2所述的矩形范圍61,如圖2所示,與擦除工具范圍相交的最小外接矩形,即目標檢測區域為矩形區域51和矩形區域53。
S30,分別對各個目標檢測區域內的筆跡進行遍歷,識別落在所述擦除工具范圍內的筆跡段。
上述步驟僅對各個目標檢測區域內的筆跡進行遍歷,無需相應畫板對應的所有區域進行遍歷,有效降低了遍歷工作量。參考圖2所示,目標檢測區域為矩形區域51和矩形區域53,可以分別對矩形區域51和矩形區域53,以識別落在擦除工具范圍61內的筆跡段EF,再對上述落在擦除工具范圍61內的筆跡段,EF進行擦除等處理。
本發明提供的擦除筆跡的識別方法,可以檢測筆跡上的筆跡拐點,根據上述筆跡拐點構建相應的最小外接矩形,以此獲取與相應擦除工具范圍相交的目標檢測區域,再對各個目標檢測區域內的筆跡進行遍歷,識別落在所述擦除工具范圍內的筆跡段,以對落在所述擦除工具范圍內的筆跡段進行擦除等處理,其中僅需對相應目標檢測區域內的筆跡進行遍歷,使遍歷工作量得到有效的降低,有助于降低相應擦除過程的工作量,從而提高了筆跡的擦除效率。
在一個實施例中,若落在所述擦除工具范圍61內的筆跡段為矩形區域51內AB上的筆跡段GB,則可以利用擦除工具將筆跡段GB進行擦除,使筆跡AC變成兩段筆跡AG和BC。在后續擦除筆跡的識別過程中,再分別針對這兩段筆跡AG和BC進行筆跡拐點的獲取以及相應最小外界矩形的構建,從所構建的最小外界矩形中獲取目標檢測區域,對上述目標檢測區域內的筆跡進行遍歷,以識別落在所述擦除工具范圍內的筆跡段;進一步縮小了下一次遍歷的區域范圍,從而使遍歷工作量得到減小。
在一個實施例中,上述獲取筆跡上斜率方向發生變化的筆跡拐點的過程可以包括:
檢測所述筆跡各處對應的斜率;
在檢測到斜率的符號發生變化時,確定斜率符號發生變化所對應的目標點;其中,所述目標點兩側的筆跡斜率的符號相反;
將所述目標點以及所述筆跡上的起始點和終止點確定為筆跡的筆跡拐點。
上述筆跡各處對應的斜率可以為筆跡上各處的點所對應的切線斜率。上述目標點一側的筆跡斜率與目標點另一側的筆跡斜率正負符號相反,例如,若目標點左側的筆跡斜率為正,則目標點右側的筆跡斜率為負。
在一個實施例中,上述獲取筆跡上斜率方向發生變化的筆跡拐點的過程可以包括:
獲取所述筆跡在畫板所在坐標系對應的筆跡函數;
計算筆跡函數的一階導數,求所述筆跡函數上使一階導數的值為零的目標點;
將所述目標點以及所述筆跡上的起始點和終止點確定為筆跡的筆跡拐點。
上述畫板通常為一個較大的矩形區域,畫板所在坐標系可以以畫板的下邊界為橫軸(x軸),以畫板的左邊界為縱軸(y軸)。
本實施例可以通過對筆跡進行采樣取點,通過筆跡上多個筆跡點之間的關系特征獲取筆跡在畫板所在坐標系對應的筆跡函數,求上述筆跡函數的一階導數,通過計算使上述一階倒數為零的點,確定上述筆跡函數上的各個極點,以得到相應的目標點,從而進行筆跡拐點的確定,所確定的筆跡拐點具有較高的準確性。
在一個實施例中,上述獲取與擦除工具范圍相交的最小外接矩形的過程可以包括:
獲取各個最小外接矩形在畫板上的矩形坐標范圍;
獲取擦除工具范圍對應的擦除坐標范圍;
檢測與所述擦除坐標范圍存在交集的矩形坐標范圍,將檢測得到的矩形坐標范圍對應的最小外接矩形確定為與擦除工具范圍相交的最小外接矩形。
上述矩形坐標范圍為各個最小外接矩形在畫板所在坐標系對應的矩形坐標范圍。擦除坐標范圍為擦除工具在畫板所在坐標系對應的擦除范圍。
在一個實施例中,上述獲取筆跡上斜率方向發生變化的筆跡拐點的過程可以包括:
在所述筆跡上采樣取點,得到所述筆跡上的多個筆跡點;其中,任意相鄰兩個點之間的橫坐標之差或者縱坐標之差為設定值;
計算所述筆跡上任意相鄰兩個筆跡點之間線段的斜率,確定各個斜率的符號;
在斜率的符號發生變化時,獲取斜率符號不同的相鄰兩個斜率分別對應的筆跡點,將兩個斜率對應的公共筆跡點確定為目標點;
將所述目標點以及所述筆跡上的起始點和終止點確定為筆跡的筆跡拐點。
上述設定值可以設置為一個較小的值,如0.01等值,以使筆跡上采樣得到的筆跡點可以完整表征相應筆跡各處的變化趨勢。如圖2所示,筆跡段BC至筆跡段CD之間的斜率發送發生變化,C點筆跡段BC和筆跡段CD之間的公共點,即為上述兩個斜率對應的公共筆跡點為C點,
作為一個實施例,上述設定值的取值范圍為筆跡所在畫板對應的坐標系的單位長度的百分之一至十分之一。
本實施例將設定值的取值范圍設置為筆跡所在畫板對應的坐標系的單位長度的百分之一至十分之一,即設定值為筆跡所在畫板對應的坐標系的單位長度的百分之一至十分之一這一范圍內的任意值,使每相鄰兩個筆跡點之間橫坐標之差或者縱坐標之差足夠小,以此采樣得到的筆跡點可以完整表征相應筆跡各處的變化趨勢。
在一個實施例中,上述分別對各個目標檢測區域內的筆跡進行遍歷,識別落在所述擦除工具范圍內的筆跡段的過程可以包括:
檢測任意一個目標檢測區域內各個筆跡點,確定所述目標檢測區域內的首筆跡點;
從所述首筆跡點開始,依次檢測目標檢測區域內的各個筆跡點是否落在所述擦除工具范圍內;
將落在所述擦除工具范圍內的筆跡點之間的筆跡確定為落在所述擦除工具范圍內的筆跡段。
作為一個實施例,上述從所述首筆跡點開始,依次檢測目標檢測區域內的各個筆跡點是否落在所述擦除工具范圍內的過程可以包括:
從所述首筆跡點開始,依次獲取各個筆跡點對應的坐標值,并獲取擦除工具范圍對應的擦除坐標范圍;
若所述筆跡點對應的坐標值在所述擦除坐標范圍內,則判定所述筆跡點落在所述擦除工具范圍內。
本實施例中,任意一個目標檢測區域內的各個筆跡點的坐標值均為遞增或者均為遞減,從首筆跡點開始,依次檢測各個筆跡點是否落在所述擦除工具范圍內,僅需從首筆跡點開始,朝一個方向(增大的方向或者減小的方向)進行相應的檢測,因而具有較高的檢測效率。
作為一個實施例,上述將落在所述擦除工具范圍內的筆跡點之間的筆跡確定為落在所述擦除工具范圍內的筆跡段的過程包括:
獲取第一個落在所述擦除工具范圍內的筆跡點,得到首擦除點;
獲取最后一個落在所述擦除工具范圍內的筆跡點,得到末擦除點;
將落在所述首擦除點和末擦除點之間的筆跡確定為落在所述擦除工具范圍內的筆跡段。
本實施例中,確定落在所述擦除工具范圍內的筆跡段這一過程中,首先確定首擦除點和末擦除點,通過檢查上述首擦除點和末擦除點之間的筆跡進行待擦除的筆跡段(落在所述擦除工具范圍內的筆跡段)的確定,在保證準確性的基礎上,提高了待擦除筆跡段的確定效率。
參考圖4,圖4所示為一個實施例的擦除筆跡的識別系統結果示意圖,包括:
檢測模塊10,獲取筆跡上斜率方向發生變化的筆跡拐點;所述筆跡拐點包括筆跡上的起始點、終止點以及兩側筆跡的斜率之積不為正的點;
構建模塊20,分別以相鄰的兩個筆跡拐點為頂點構建最小外接矩形,獲取與擦除工具范圍相交的最小外接矩形,得到若干個目標檢測區域;
識別模塊30,分別對各個目標檢測區域內的筆跡進行遍歷,識別落在所述擦除工具范圍內的筆跡段。
本發明提供的擦除筆跡的識別系統與本發明提供的擦除筆跡的識別方法一一對應,在所述擦除筆跡的識別方法的實施例闡述的技術特征及其有益效果均適用于擦除筆跡的識別系統的實施例中,特此聲明。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。