本發(fā)明涉及圖像識(shí)別技術(shù)領(lǐng)域,尤其涉及一種曲線識(shí)別方法及裝置。
背景技術(shù):
傳統(tǒng)的曲線識(shí)別方式就是從一個(gè)點(diǎn)開(kāi)始,不斷加入周圍一定距離的連續(xù)點(diǎn),最終形成一條曲線。這種方法速度很快,但其缺陷是如果距離設(shè)得小,曲線遇到斷點(diǎn)很容易識(shí)別中斷,而如果距離設(shè)得大,識(shí)別時(shí)可能識(shí)別到旁邊的臨近曲線。
目前的曲線識(shí)別中識(shí)別斷點(diǎn)的方式主要是通過(guò)判斷方向來(lái)實(shí)現(xiàn)(即遇到曲線中斷了,計(jì)算斷點(diǎn)處的方向,并沿著該方向往前尋找一定距離,如果發(fā)現(xiàn)存在點(diǎn),則仍認(rèn)為該點(diǎn)屬于這條曲線,并繼續(xù)往前尋找),而判斷方向通過(guò)斜率k=(y2-y1)/(x2-x1)來(lái)判斷。也就是說(shuō)每個(gè)點(diǎn)至少要進(jìn)行一次除法與兩次減法計(jì)算,速度較慢,而一張圖可能包含上萬(wàn)個(gè)點(diǎn),需要判斷的次數(shù)更可能上十萬(wàn)次,而除法帶來(lái)的效率影響較大。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要提供一種提高識(shí)別效率的曲線識(shí)別方法及裝置。
一種曲線識(shí)別方法,包括:
初始像素獲取步驟:獲取預(yù)設(shè)數(shù)量個(gè)連續(xù)的像素點(diǎn),并按序加入到曲線點(diǎn)集合中;第預(yù)設(shè)數(shù)量個(gè)像素點(diǎn)為最新加入到所述曲線點(diǎn)集合的最新加入點(diǎn);
方向區(qū)域確定步驟:根據(jù)所述最新加入點(diǎn)及所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn),采用減法運(yùn)算及比較運(yùn)算的方式確定所述最新加入點(diǎn)的方向區(qū)域;
曲線集合更新步驟:獲取與所述最新加入點(diǎn)的距離小于或者等于預(yù)設(shè)距離、位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi)、未加入所述曲線點(diǎn)集合的相近同向像素點(diǎn),并將所述相近同向像素點(diǎn)加入所述曲線點(diǎn)集合,更新所述最新加入點(diǎn);
重復(fù)執(zhí)行步驟:重復(fù)執(zhí)行所述方向區(qū)域確定步驟及所述曲線集合更新步驟,直至獲取不到所述相近同向像素點(diǎn)。
一種曲線識(shí)別裝置,包括:
初始像素獲取模塊,用于獲取預(yù)設(shè)數(shù)量個(gè)連續(xù)的像素點(diǎn),并按序加入到曲線點(diǎn)集合中;第預(yù)設(shè)數(shù)量個(gè)像素點(diǎn)為最新加入到所述曲線點(diǎn)集合的最新加入點(diǎn);
方向區(qū)域確定模塊,用于根據(jù)所述最新加入點(diǎn)及所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn),采用減法運(yùn)算及比較運(yùn)算的方式確定所述最新加入點(diǎn)的方向區(qū)域;
曲線集合更新模塊,用于獲取與所述最新加入點(diǎn)的距離小于或等于預(yù)設(shè)距離、位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi)、未加入所述曲線點(diǎn)集合的相近同向像素點(diǎn),并將所述相近同向像素點(diǎn)加入所述曲線點(diǎn)集合,更新所述最新加入點(diǎn);
重復(fù)調(diào)用模塊,用于重復(fù)調(diào)用所述方向區(qū)域確定模塊及所述曲線集合更新模塊,直至獲取不到所述相近同向像素點(diǎn)。
上述曲線識(shí)別方法及裝置,由于采用減法運(yùn)算及比較運(yùn)算的方式確定所述最新加入點(diǎn)的方向區(qū)域,而不再需要通過(guò)采用除法運(yùn)算的方式計(jì)算斜率來(lái)確定方向,減少了運(yùn)算時(shí)間,提高了運(yùn)算效率,據(jù)此提高了曲線識(shí)別的識(shí)別效率。
附圖說(shuō)明
圖1為一實(shí)施例的曲線識(shí)別方法的流程圖;
圖2為方向區(qū)域劃分示意圖;
圖3為另一實(shí)施例的曲線識(shí)別方法的流程圖;
圖4為一具體實(shí)施例中識(shí)別的曲線的示意圖;
圖5為一實(shí)施例的曲線識(shí)別裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
為了便于理解本發(fā)明,下面將參照相關(guān)附圖對(duì)本發(fā)明進(jìn)行更全面的描述。附圖中給出了本發(fā)明的較佳的實(shí)施例。但是,本發(fā)明可以以許多不同的形式來(lái)實(shí)現(xiàn),并不限于本文所描述的實(shí)施例。相反地,提供這些實(shí)施例的目的是使對(duì)本發(fā)明的公開(kāi)內(nèi)容的理解更加透徹全面。
除非另有定義,本文所使用的所有的技術(shù)和科學(xué)術(shù)語(yǔ)與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本文中在本發(fā)明的說(shuō)明書(shū)中所使用的術(shù)語(yǔ)只是為了描述具體的實(shí)施例的目的,不是旨在于限制本發(fā)明。本文所使用的術(shù)語(yǔ)“或/和”包括一個(gè)或多個(gè)相關(guān)的所列項(xiàng)目的任意的和所有的組合。
如圖1所示,為本發(fā)明一實(shí)施例的曲線識(shí)別方法,包括:
S120,初始像素獲取步驟:獲取預(yù)設(shè)數(shù)量個(gè)連續(xù)的像素點(diǎn),并按序加入到曲線點(diǎn)集合中;第預(yù)設(shè)數(shù)量個(gè)像素點(diǎn)為最新加入到所述曲線點(diǎn)集合的最新加入點(diǎn)。
預(yù)設(shè)數(shù)量為預(yù)先定義的量。曲線點(diǎn)集合為用于存儲(chǔ)識(shí)別出的曲線上的像素點(diǎn)的集合。最后得到的曲線點(diǎn)集合中的像素點(diǎn)組成的曲線即為最終識(shí)別到的曲線。
在本實(shí)施例中,像素點(diǎn)加入到曲線點(diǎn)集合的順序可以通過(guò)像素點(diǎn)對(duì)應(yīng)的元素的下標(biāo)表示,如采用數(shù)組的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)曲線點(diǎn)集合時(shí),可以通過(guò)數(shù)組的下標(biāo)來(lái)表示像素點(diǎn)加入到曲線點(diǎn)集合的順序。最新加入點(diǎn)是最新加入到曲線點(diǎn)集合的像素點(diǎn),如,可以是下標(biāo)為最大數(shù)值的元素對(duì)應(yīng)的像素點(diǎn)。
S140,方向區(qū)域確定步驟:根據(jù)所述最新加入點(diǎn)及所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn),采用減法運(yùn)算及比較運(yùn)算的方式確定所述最新加入點(diǎn)的方向區(qū)域。
確定最新加入點(diǎn)的方向區(qū)域時(shí),需要根據(jù)兩個(gè)像素點(diǎn)來(lái)確定:最新加入點(diǎn),及所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)。由于曲線點(diǎn)集合的加入方式是按序加入的,因此,在通過(guò)數(shù)組的下標(biāo)來(lái)表示像素點(diǎn)加入到曲線點(diǎn)集合的順序的情況下,最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的確定方式可以是,根據(jù)最新像素點(diǎn)對(duì)應(yīng)的元素的下標(biāo)與預(yù)設(shè)數(shù)量來(lái)確定。具體地,最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的下標(biāo)為,最新像素點(diǎn)對(duì)應(yīng)的元素的下標(biāo)減去預(yù)設(shè)數(shù)量再加1。
需要說(shuō)明的是,在一個(gè)實(shí)施例中,預(yù)設(shè)數(shù)量可以為大于或等于5的自然數(shù)。如此,通過(guò)相隔預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的兩個(gè)像素點(diǎn)來(lái)確定最新加入點(diǎn)的方向區(qū)域,可以避免相隔過(guò)近的兩個(gè)點(diǎn)由于橫坐標(biāo)或縱坐標(biāo)過(guò)于靠近使得確定的方向區(qū)域誤差較大或者難以確定方向區(qū)域。
在本實(shí)施例中,如圖2所示,方向區(qū)域分為8個(gè)區(qū)域。在二維坐標(biāo)系中,增加第一和第三象限的角平分線,及第二和第四象限的角平分線,如此,通過(guò)兩條角平分線及橫縱坐標(biāo)軸可以將二維坐標(biāo)系分為8個(gè)均等的方向區(qū)域。具體地,可以從第一象限靠近縱坐標(biāo)軸的區(qū)域開(kāi)始作為第1方向區(qū)域,順時(shí)針依次命名為第2方向區(qū)域、第3方向區(qū)域、第4方向區(qū)域、第5方向區(qū)域、第6方向區(qū)域、第7方向區(qū)域、第8方向區(qū)域。
根據(jù)所述最新加入點(diǎn)及所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn),采用減法運(yùn)算及比較運(yùn)算的方式可以確定所述最新加入點(diǎn)的方向區(qū)域。而不再需要通過(guò)采用除法運(yùn)算的方式計(jì)算斜率來(lái)確定方向,如此,減少運(yùn)算時(shí)間,提高運(yùn)算效率。
S160,獲取與所述最新加入點(diǎn)的距離小于或者等于預(yù)設(shè)距離、位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi)、未加入所述曲線點(diǎn)集合的相近同向像素點(diǎn),并將所述相近同向像素點(diǎn)加入所述曲線點(diǎn)集合,更新所述最新加入點(diǎn)。
獲取最新加入點(diǎn)的相近同向像素點(diǎn),并將相近同向像素點(diǎn)加入到曲線點(diǎn)集合,并更新最新加入點(diǎn)為該加入到曲線點(diǎn)集合的相近同向像素點(diǎn)。預(yù)設(shè)距離為預(yù)先設(shè)定的可以認(rèn)為是同一條曲線的、允許斷開(kāi)的最大距離。預(yù)設(shè)范圍為預(yù)先設(shè)定的可以認(rèn)為是同一條曲線的方向區(qū)域改變的范圍。
在一個(gè)具體實(shí)施例中,預(yù)設(shè)距離為3至15;優(yōu)選為10。如此,避免距離過(guò)小識(shí)別不出因客觀原因?qū)е碌膶?shí)質(zhì)為一條曲線但斷開(kāi)了的曲線,或者距離過(guò)大而導(dǎo)致不是同一條曲線的曲線被識(shí)別為同一條曲線。
S180,重復(fù)執(zhí)行步驟:重復(fù)執(zhí)行所述方向區(qū)域確定步驟及所述曲線集合更新步驟,直至獲取不到所述相近同向像素點(diǎn)。
在曲線點(diǎn)集合中被加入了新的像素點(diǎn)之后,最新加入點(diǎn)被更新為最新加入的像素點(diǎn),根據(jù)最新進(jìn)入點(diǎn)繼續(xù)尋找下一個(gè)曲線上的點(diǎn)。在本實(shí)施例中,通過(guò)在最新加入點(diǎn)的基礎(chǔ)上,繼續(xù)確定最新加入點(diǎn)的方向區(qū)域,并根據(jù)該方向區(qū)域獲取新的相近同向像素點(diǎn),并將該新的相近同向像素點(diǎn)加如到曲線點(diǎn)集合中,更新最新像素點(diǎn),如此,循環(huán)重復(fù)執(zhí)行方向區(qū)域確定步驟及曲線集合更新步驟,直至獲取不到相近同向像素點(diǎn),說(shuō)明曲線已斷開(kāi)或結(jié)束,即一條曲線的識(shí)別結(jié)束。在本實(shí)施例中,最終識(shí)別到的曲線為曲線點(diǎn)集合中的像素點(diǎn)組成的曲線。
上述曲線識(shí)別方法,由于采用減法運(yùn)算及比較運(yùn)算的方式確定所述最新加入點(diǎn)的方向區(qū)域,而不再需要通過(guò)采用除法運(yùn)算的方式計(jì)算斜率來(lái)確定方向,減少了運(yùn)算時(shí)間,提高了運(yùn)算效率,據(jù)此提高了曲線識(shí)別的識(shí)別效率。
如圖3所述,在其中一個(gè)實(shí)施例中,步驟S320、S340、S360、S380分別對(duì)應(yīng)上述步驟S120、S140、S160、S180。所述初始像素獲取步驟之前,即步驟S320之前,還包括:
S310,圖片像素獲取步驟:獲取待識(shí)別曲線所在的圖片的像素點(diǎn),形成圖片像素點(diǎn)集合。
所述曲線識(shí)別方法,還包括:
S370,圖片集合更新步驟:當(dāng)所述相近同向像素點(diǎn)加入到所述曲線點(diǎn)集合中時(shí),將加入到所述曲線點(diǎn)集合的所述相近同向像素點(diǎn)從所述圖片像素點(diǎn)集合中刪除。
所述重復(fù)執(zhí)行步驟獲取不到所述相近同向像素點(diǎn)之后,還包括:
S390,迭代執(zhí)行步驟:當(dāng)所述圖片像素點(diǎn)集合中的像素點(diǎn)中存在與所述曲線點(diǎn)集合中的第一個(gè)像素點(diǎn)的距離為1且未加入所述曲線點(diǎn)集合的像素點(diǎn)時(shí),繼續(xù)執(zhí)行所示初始像素獲取步驟、所示方向區(qū)域確定步驟、所示曲線集合更新步驟及所述重復(fù)執(zhí)行步驟。
如此,通過(guò)在進(jìn)行曲線識(shí)別之前,對(duì)曲線所在的圖片進(jìn)行像素點(diǎn)的獲取得到圖片像素點(diǎn)集合,并在像素點(diǎn)加入到曲線點(diǎn)集合時(shí),將該像素點(diǎn)從圖片像素點(diǎn)集合中刪除。然后,通過(guò)圖片像素點(diǎn)集合中是否存在與第一個(gè)像素點(diǎn)的距離為1、且未加入所示曲線點(diǎn)集合的像素點(diǎn)的方式,確定是否還需要繼續(xù)執(zhí)行所示初始像素獲取步驟、所示方向區(qū)域確定步驟、所示曲線集合更新步驟及所述重復(fù)執(zhí)行步驟,以繼續(xù)查找曲線的像素點(diǎn)。這樣,可以避免第一個(gè)加入到曲線點(diǎn)集合中的像素點(diǎn)不是曲線的起點(diǎn)或終點(diǎn)時(shí)而導(dǎo)致的僅能對(duì)第一個(gè)像素點(diǎn)的一端進(jìn)行識(shí)別。
需要說(shuō)明的是,在本實(shí)施例中,無(wú)論按照什么順序獲取預(yù)設(shè)數(shù)量個(gè)連續(xù)的像素點(diǎn),最終必然需要按序加入到曲線點(diǎn)集合中。因此,必然存在第一個(gè)像素點(diǎn)。具體地,在通過(guò)數(shù)組的下標(biāo)來(lái)表示像素點(diǎn)加入到曲線點(diǎn)集合的順序的情況下,第一個(gè)像素點(diǎn)為曲線點(diǎn)集合中下標(biāo)最小的元素對(duì)應(yīng)的像素點(diǎn)。
舉一個(gè)簡(jiǎn)單的例子,如圖4所示,曲線點(diǎn)集合依次加入得到{P1,P2,P3,P4,P5,P6,P7};圖片像素點(diǎn)集合中的點(diǎn)包括{P8,P9,P10,P11,P12,P13};預(yù)設(shè)距離假設(shè)為3。此時(shí),最新加入點(diǎn)為P7,不存在與P7的距離在3以內(nèi)的像素點(diǎn),若在圖1的實(shí)施例中,曲線的識(shí)別將結(jié)束,然而,在本實(shí)施例中,由于所述圖片像素點(diǎn)集合中的像素點(diǎn)存在與所述曲線點(diǎn)集合中的第一個(gè)像素點(diǎn)P1的距離為1且未加入所示曲線點(diǎn)集合的像素點(diǎn)P8,因此,需重復(fù)初始像素獲取步驟、所示方向區(qū)域確定步驟、所示曲線集合更新步驟及所述重復(fù)執(zhí)行步驟,依次再將P8,P9,P10,P11,P12,P13加入到曲線點(diǎn)集合中,并從圖片像素點(diǎn)集合中刪除。
在其中一個(gè)實(shí)施例中,所述初始像素獲取步驟,即步驟S120或S320,包括:
(a)、按照預(yù)設(shè)搜索方向獲取曲線的第一個(gè)像素點(diǎn)并將所述第一個(gè)像素點(diǎn)加入到曲線點(diǎn)集合中。將所述第一個(gè)像素點(diǎn)作為最新加入點(diǎn)。
在本實(shí)施例中,按照預(yù)先設(shè)置的預(yù)設(shè)搜索方向獲取曲線的第一個(gè)像素點(diǎn)并將第一個(gè)像素點(diǎn)加入到曲線點(diǎn)集合中,因此,該曲線的第一個(gè)像素點(diǎn)即為曲線點(diǎn)集合的第一個(gè)像素點(diǎn),也即為第一個(gè)加入到曲線點(diǎn)集合的像素點(diǎn)。需要說(shuō)明的是,第一個(gè)像素點(diǎn),并不一定是曲線的起始像素點(diǎn)或結(jié)束像素點(diǎn)。
具體地,預(yù)設(shè)搜索方向可以為:從上到下,再?gòu)淖蟮接?。其中,上為二維坐標(biāo)系中縱坐標(biāo)所指的方向,下為上的反方向;右為二維坐標(biāo)系中橫坐標(biāo)所指向的方向,左為右的反方向。
可以理解地,預(yù)設(shè)搜索方向也可以為從預(yù)設(shè)指向開(kāi)始,順時(shí)針或逆時(shí)針?lè)较?。其中,預(yù)設(shè)指向可以為二維坐標(biāo)系中縱坐標(biāo)所指的方向,或橫坐標(biāo)所指的方向。
(b)、按照預(yù)設(shè)搜索方向查找與所述最新加入點(diǎn)的距離為1的第一個(gè)未加入所述曲線點(diǎn)集合的相鄰像素點(diǎn),將所述相鄰像素點(diǎn)加入到所述曲線點(diǎn)集合中,直至所述曲線點(diǎn)集合中的像素點(diǎn)的個(gè)數(shù)大于或等于所述預(yù)設(shè)數(shù)量。
在本實(shí)施例中,最開(kāi)始獲取到的預(yù)設(shè)數(shù)量個(gè)的像素點(diǎn),除了第一個(gè)像素點(diǎn),均為與上一個(gè)加入的像素點(diǎn)的距離為1的像素點(diǎn)。如此,獲取到預(yù)設(shè)數(shù)量個(gè)連續(xù)的像素點(diǎn)。
在其中一個(gè)實(shí)施例中,方向區(qū)域確定步驟,即S140或S340,包括:比較所述最新加入點(diǎn)的橫坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的橫坐標(biāo)的大小,得到橫坐標(biāo)比較結(jié)果;比較所述最新加入點(diǎn)的縱坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的縱坐標(biāo)的大小,得到縱坐標(biāo)比較結(jié)果;根據(jù)所述最新加入點(diǎn)的橫坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的橫坐標(biāo),確定橫坐標(biāo)差距;根據(jù)所述最新加入點(diǎn)的縱坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的縱坐標(biāo),確定縱坐標(biāo)差距;根據(jù)橫坐標(biāo)差距與所述縱坐標(biāo)差距,比較所述橫坐標(biāo)差距與所述縱坐標(biāo)差距的大小,得到差距比較結(jié)果;所述橫坐標(biāo)比較結(jié)果、所述縱坐標(biāo)比較結(jié)果及所述差距比較結(jié)果,確定所述最新加入點(diǎn)的方向區(qū)域。如此,通過(guò)最新加入點(diǎn)的橫坐標(biāo)、縱坐標(biāo)采用兩次減法運(yùn)算及三次比較運(yùn)算即可確定最新加入點(diǎn)的方向區(qū)域。
在其中一個(gè)具體實(shí)施例中,假設(shè)最新加入點(diǎn)為P5,預(yù)設(shè)數(shù)量為5,最新加入點(diǎn)P5之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)為P1。假設(shè)最新加入點(diǎn)P5的坐標(biāo)為(x2,y2);最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)P1的坐標(biāo)為(x1,y1)。結(jié)合圖2所示的方向區(qū)域劃分方式,采用上述減法運(yùn)算及比較運(yùn)算的方式最終確定的方向區(qū)域可以是如下所示:
若x1<x2、y1>y2、y1-y2>x2-x1,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
若x1<x2、y1>y2、y1-y2<x2-x1,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
若x1<x2、y1<y2、y2-y1<x2-x1,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
若x1<x2、y1<y2、y2-y1>x2-x1,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
若x1>x2、y1<y2、y2-y1>x2-x1,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
若x1>x2、y1<y2、y2-y1<x2-x1,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
若x1>x2、y1<y2、y1-y2<x1-x2,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
若x1>x2、y1<y2、y1-y2>x1-x2,則最新加入點(diǎn)的方向區(qū)域?yàn)榈?方向區(qū)域。
在其中一個(gè)實(shí)施例中,所述曲線集合更新步驟,即步驟S160或S360,包括:
當(dāng)前距離初始化子步驟:將當(dāng)前距離初始化為1。
相近像素獲取子步驟:獲取與所述最新加入點(diǎn)的距離為所述當(dāng)前距離且未加入所述曲線點(diǎn)集合的相近像素點(diǎn)。
相近方向確定子步驟:根據(jù)所述相近像素點(diǎn)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減2個(gè)像素點(diǎn),確定所述相近像素點(diǎn)的方向區(qū)域。
方向區(qū)域判斷子步驟:判斷所述相近像素點(diǎn)是否位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi)。
肯定判定執(zhí)行子步驟:若判斷所述相近像素點(diǎn)位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi),則將所述相近像素點(diǎn)作為相近同向像素點(diǎn)加入所述曲線點(diǎn)集合,更新所述最新加入點(diǎn)。
否定判定執(zhí)行子步驟:若判斷所述相近像素點(diǎn)不位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi),則所述當(dāng)前距離加1,重復(fù)所述相近像素獲取子步驟、所述相近方向確定子步驟及所述方向區(qū)域判斷子步驟,以及所述肯定判斷執(zhí)行子步驟或所述否定判斷執(zhí)行子步驟,直至所述當(dāng)前距離大于所述預(yù)設(shè)距離,則獲取不到所述相近同向像素點(diǎn)。
如此,實(shí)現(xiàn)曲線點(diǎn)集合的更新。其中,預(yù)設(shè)范圍可以具體為,相差一個(gè)區(qū)域。即根據(jù)相近像素點(diǎn)是否位于與所述方向區(qū)域相差一個(gè)區(qū)域以內(nèi),確定是否將該相近像素點(diǎn)作為相近同向像素點(diǎn)加入所述曲線點(diǎn)集合,更新所述最新加入點(diǎn)。
如圖5所示,本發(fā)明還提供一種與上述曲線識(shí)別方法對(duì)應(yīng)的曲線識(shí)別裝置,包括:
初始像素獲取模塊520,用于獲取預(yù)設(shè)數(shù)量個(gè)連續(xù)的像素點(diǎn),并按序加入到曲線點(diǎn)集合中。第預(yù)設(shè)數(shù)量個(gè)像素點(diǎn)為最新加入到所述曲線點(diǎn)集合的最新加入點(diǎn)。
方向區(qū)域確定模塊540,用于根據(jù)所述最新加入點(diǎn)及所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn),采用減法運(yùn)算及比較運(yùn)算的方式確定所述最新加入點(diǎn)的方向區(qū)域。
曲線集合更新模塊560,用于獲取與所述最新加入點(diǎn)的距離小于或等于預(yù)設(shè)距離、位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi)、未加入所述曲線點(diǎn)集合的相近同向像素點(diǎn),并將所述相近同向像素點(diǎn)加入所述曲線點(diǎn)集合,更新所述最新加入點(diǎn)。
重復(fù)調(diào)用模塊580,用于重復(fù)調(diào)用所述方向區(qū)域確定模塊及所述曲線集合更新模塊,直至獲取不到所述相近同向像素點(diǎn)。
上述曲線識(shí)別裝置,由于采用減法運(yùn)算及比較運(yùn)算的方式確定所述最新加入點(diǎn)的方向區(qū)域,而不再需要通過(guò)采用除法運(yùn)算的方式計(jì)算斜率來(lái)確定方向,減少了運(yùn)算時(shí)間,提高了運(yùn)算效率,據(jù)此可以提高了曲線識(shí)別的識(shí)別效率。
在其中一個(gè)實(shí)施例中,還包括:
圖片像素獲取模塊510,用于獲取待識(shí)別曲線所在的圖片的像素點(diǎn),形成圖片像素點(diǎn)集合。
圖片集合更新模塊570,用于當(dāng)所述相近同向像素點(diǎn)加入到所述曲線點(diǎn)集合中時(shí),將加入到所述曲線點(diǎn)集合的所述相近同向像素點(diǎn)從所述圖片像素點(diǎn)集合中刪除。
迭代執(zhí)行模塊590,用于當(dāng)所述圖片像素點(diǎn)集合中的像素點(diǎn)中存在與所述曲線點(diǎn)集合中的第一個(gè)像素點(diǎn)的距離小于或等于所述預(yù)設(shè)距離、位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi)、未加入所述曲線點(diǎn)集合的像素點(diǎn)時(shí),將所述第一個(gè)像素點(diǎn)作為最新加入點(diǎn),調(diào)用所述重復(fù)調(diào)用模塊。
在其中一個(gè)實(shí)施例中,所述初始像素獲取模塊520,包括:
第一像素獲取子模塊(圖未示),用于按照預(yù)設(shè)搜索方向獲取曲線的第一個(gè)像素點(diǎn)并將所述第一個(gè)像素點(diǎn)加入到曲線點(diǎn)集合中。將所述第一個(gè)像素點(diǎn)作為最新加入點(diǎn)。
預(yù)設(shè)像素獲取子模塊(圖未示),用于按照預(yù)設(shè)搜索方向查找與所述最新加入點(diǎn)的距離為1的第一個(gè)未加入所述曲線點(diǎn)集合的相鄰像素點(diǎn),將所述相鄰像素點(diǎn)加入到所述曲線點(diǎn)集合中,直至所述曲線點(diǎn)集合中的像素點(diǎn)的個(gè)數(shù)大于或等于所述預(yù)設(shè)數(shù)量。
在其中一個(gè)實(shí)施例中,方向區(qū)域確定模塊540,包括:
橫坐標(biāo)比較子模塊(圖未示),用于比較所述最新加入點(diǎn)的橫坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的橫坐標(biāo)的大小,得到橫坐標(biāo)比較結(jié)果。
縱坐標(biāo)比較子模塊(圖未示),用于比較所述最新加入點(diǎn)的縱坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的縱坐標(biāo)的大小,得到縱坐標(biāo)比較結(jié)果。
橫差距確定子模塊(圖未示),用于根據(jù)所述最新加入點(diǎn)的橫坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的橫坐標(biāo),確定橫坐標(biāo)差距。
縱差距確定子模塊(圖未示),用于根據(jù)所述最新加入點(diǎn)的縱坐標(biāo)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減1個(gè)像素點(diǎn)的縱坐標(biāo),確定縱坐標(biāo)差距。
橫縱比較子模塊(圖未示),用于根據(jù)橫坐標(biāo)差距與所述縱坐標(biāo)差距,比較所述橫坐標(biāo)差距與所述縱坐標(biāo)差距的大小,得到差距比較結(jié)果。
區(qū)域確定子模塊(圖未示),用于所述橫坐標(biāo)比較結(jié)果、所述縱坐標(biāo)比較結(jié)果及所述差距比較結(jié)果,確定所述最新加入點(diǎn)的方向區(qū)域。
在其中一個(gè)實(shí)施例中,所述曲線集合更新模塊560,包括:
當(dāng)前距離初始化子模塊(圖未示),用于將當(dāng)前距離初始化為1。
相近像素獲取子模塊(圖未示),用于獲取與所述最新加入點(diǎn)的距離為所述當(dāng)前距離且未加入所述曲線點(diǎn)集合的相近像素點(diǎn)。
相近方向確定子模塊(圖未示),用于根據(jù)所述相近像素點(diǎn)與所述最新加入點(diǎn)之前的第預(yù)設(shè)數(shù)量減2個(gè)像素點(diǎn),確定所述相近像素點(diǎn)的方向區(qū)域。
方向區(qū)域判斷子模塊(圖未示),用于判斷所述相近像素點(diǎn)是否位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi)。
肯定判定執(zhí)行子模塊(圖未示),用于若判斷所述相近像素點(diǎn)位于所述方向區(qū)域的預(yù)設(shè)范圍內(nèi),則將所述相近像素點(diǎn)作為相近同向像素點(diǎn)加入所述曲線點(diǎn)集合,更新所述最新加入點(diǎn)。
否定判定執(zhí)行子模塊(圖未示),用于若判斷所述相近像素點(diǎn)不位于方向區(qū)域的預(yù)設(shè)范圍內(nèi),則所述當(dāng)前距離加1,調(diào)用所述相近像素獲取子模塊、所述相近方向確定子模塊及所述方向區(qū)域判斷子模塊,以及所述肯定判斷執(zhí)行子模塊或所述否定判斷執(zhí)行子模塊,直至所述當(dāng)前距離大于所述預(yù)設(shè)距離,則獲取不到所述相近同向像素點(diǎn)。
由于上述曲線識(shí)別裝置與上述曲線識(shí)別方法一一對(duì)應(yīng),因此,對(duì)于上述曲線識(shí)別裝置的具體細(xì)節(jié)特征,不再作贅述。
以上實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出多個(gè)變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。