專利名稱:一種圖像路徑生成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理中的目標(biāo)路徑生成領(lǐng)域,具體涉及一種圖像路徑生成方法及系統(tǒng)。
背景技術(shù):
目前,圖像路徑大部分是采用“鋼筆工具”繪制生成。通過(guò)鋼筆工具,操作者采用全手工的方式,對(duì)圖像邊緣分段進(jìn)行操作,完成路徑的繪制生成。采用“鋼筆工具”的方式生成路徑,操作者需要根據(jù)自己對(duì)圖像內(nèi)容的主觀判斷,逐段的完成路徑的繪制,并在描繪過(guò)程中,實(shí)時(shí)的采用手工的方式調(diào)整現(xiàn)有路徑和先前路徑的形態(tài),保證其能夠較好的貼合邊緣, 以及各段路徑之間的過(guò)渡平滑、自然,以得到較高的路徑生成質(zhì)量。手工繪制生成路徑的方法能夠很好的保證生成路徑的質(zhì)量,但由于采取的是全手工操作,路徑生成效率很低,完成一幅圖像的路徑生成通常要花費(fèi)較長(zhǎng)的時(shí)間,不利于提高工作生產(chǎn)效率。路徑的生成還可以采取“選區(qū)轉(zhuǎn)路徑”的方式,這種方法首先需要完成對(duì)圖像有效選區(qū)的標(biāo)定,然后利用相關(guān)的算法將選區(qū)轉(zhuǎn)換為所對(duì)應(yīng)的路徑。采用“選區(qū)轉(zhuǎn)路徑”的方式生成路徑,對(duì)選區(qū)生成以及路徑生成的準(zhǔn)確度要求較高,生成路徑的質(zhì)量通常取決于兩個(gè)因素有效選區(qū)的標(biāo)定準(zhǔn)確性和路徑生成方法的準(zhǔn)確性;另外,“選區(qū)轉(zhuǎn)路徑”是一種大尺度上的路徑生成方式,完成路徑生成后,并不利于對(duì)生成路徑進(jìn)行調(diào)整,達(dá)到提高路徑質(zhì)量的目的。所以采用“選區(qū)轉(zhuǎn)路徑”的方式并且通過(guò)該方法完成路徑生成后,難以對(duì)生成路徑的細(xì)節(jié)進(jìn)行調(diào)整,所以該方法生成的圖像路徑質(zhì)量難以得到保證。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種圖像路徑生成方法及系統(tǒng),通過(guò)對(duì)圖像局部信息進(jìn)行判斷,完成圖像路徑的生成,并允許操作者對(duì)生成路徑的形態(tài)進(jìn)行自動(dòng)調(diào)整,保證了生成路徑的質(zhì)量。為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下一種圖像路徑生成方法,包括以下步驟 (I)選擇待處理圖像,通過(guò)點(diǎn)擊位置確定圖像中的待處理區(qū)域;所述點(diǎn)擊位置是指待生成的圖像路徑的起點(diǎn)和終點(diǎn);(2)對(duì)待處理區(qū)域進(jìn)行圖像邊緣檢測(cè),得到待處理區(qū)域的邊界信息;所述邊界信息包括待處理區(qū)域的邊界圖像,以及待處理區(qū)域在X、Y方向的梯度圖像;(3)根據(jù)點(diǎn)擊位置和邊界圖像提取待處理邊界,并得到待處理邊界的邊界鏈;所述待處理邊界是指距離點(diǎn)擊位置最近的邊界圖像中的連通邊界;所述邊界鏈?zhǔn)侵复幚磉吔绲倪吔琰c(diǎn)的坐標(biāo)信息;(4)根據(jù)點(diǎn)擊位置以及待處理區(qū)域的X、Y方向的梯度圖像,生成邊界鏈的有向圖,并采用最短路徑生成算法提取點(diǎn)擊位置的起點(diǎn)至終點(diǎn)的最短路徑;所述有向圖是表述邊界鏈中各邊界點(diǎn)之間路徑關(guān)系的數(shù)據(jù)結(jié)構(gòu);
(5)將最短路徑進(jìn)行曲線擬合,得到結(jié)果路徑。進(jìn)一步,如上所述的一種圖像路徑生成方法,該方法還包括以下步驟所述方法還包括以下步驟(6)以先前點(diǎn)擊位置的終點(diǎn)為新的起點(diǎn),確定新的點(diǎn)擊位置終點(diǎn),重復(fù)步驟(I) 步驟(4),得到新的最短路徑;(7)將所述先前結(jié)果路徑與新的最短路徑進(jìn)行平滑銜接,得到新的結(jié)果路徑。進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(4)中,所述有向圖生成的具體方式為根據(jù)待處理區(qū)域的X、Y方向的梯度圖像,計(jì)算邊界鏈中起點(diǎn)到終點(diǎn)的所有邊界點(diǎn)之間的梯度值,并將該梯度值作為邊界點(diǎn)間的權(quán)重,構(gòu)成有向圖;所述梯度值是指在邊緣檢 測(cè)中所提取的X、Y方向的梯度融合值。進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(4)中,完成每一次最短路徑提取后,記錄最短路徑的路徑生成信息,在下一次進(jìn)行最短路徑提取時(shí),根據(jù)點(diǎn)擊位置、邊界信息以及先前路徑生成信息生成邊界鏈的有向圖。進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(4)中,在進(jìn)行邊界路徑提取時(shí),如果存在先前路徑,將先前路徑各邊界點(diǎn)間的權(quán)重設(shè)置為無(wú)窮大。進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(7)中,通過(guò)在結(jié)果路徑中設(shè)置打斷點(diǎn),實(shí)現(xiàn)結(jié)果路徑與新的最短路徑的平滑拼接;具體方式為I)在結(jié)果路徑中設(shè)置打斷點(diǎn);2)將打斷點(diǎn)之后的結(jié)果路徑中的曲線轉(zhuǎn)化為像素坐標(biāo)點(diǎn),與新的最短路徑進(jìn)行拼接;3)將拼接之后的路徑進(jìn)行曲線擬合,得到新的路徑結(jié)果,并將擬合后的結(jié)果在打斷點(diǎn)處完成拼接。進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(I)中,設(shè)置待處理區(qū)域的最小設(shè)定范圍,當(dāng)待處理區(qū)域大于或等于設(shè)定范圍時(shí),以待處理區(qū)域的實(shí)際大小作為待處理區(qū)域;當(dāng)待處理區(qū)域小于設(shè)定范圍時(shí),以設(shè)定值作為待處理區(qū)域。再進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(2)中,對(duì)待處理區(qū)域的圖像進(jìn)行預(yù)處理后進(jìn)行圖像邊緣檢測(cè),所述預(yù)處理包括降噪處理。再進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(2)中,利用圖像邊緣檢測(cè)算法完成圖像邊緣檢測(cè)。更進(jìn)一步,如上所述的一種圖像路徑生成方法,步驟(2)中,完成圖像邊緣檢測(cè)后,通過(guò)二值圖像的形態(tài)學(xué)操作對(duì)邊緣中出現(xiàn)的斷裂及非平滑現(xiàn)象進(jìn)行消除。一種基于上述圖像路徑生成方法的圖像路徑生成系統(tǒng),包括待處理區(qū)域確定模塊用于通過(guò)點(diǎn)擊位置確定待處理圖像中的待處理區(qū)域;所述點(diǎn)擊位置是指待生成的圖像路徑的起點(diǎn)和終點(diǎn);邊界信息提取模塊用于對(duì)待處理區(qū)域進(jìn)行圖像邊緣檢測(cè),得到待處理區(qū)域的邊界信息;所述邊界信息包括待處理區(qū)域的邊界圖像,以及待處理區(qū)域在X、Y方向的梯度圖像;待處理邊界提取模塊用于根據(jù)點(diǎn)擊位置和邊界圖像提取待處理邊界,并得到待處理邊界的邊界鏈;所述待處理邊界是指距離點(diǎn)擊位置最近的邊界圖像中的連通邊界;所述邊界鏈?zhǔn)侵复幚磉吔绲倪吔琰c(diǎn)的坐標(biāo)信息;最短路徑生成模塊用于根據(jù)點(diǎn)擊位置以及待處理區(qū)域的X、Y方向的梯度圖像,生成邊界鏈的有向圖,并采用最短路徑生成算法提取點(diǎn)擊位置的起點(diǎn)至終點(diǎn)的最短路徑;所述有向圖是表述邊界鏈中各邊界點(diǎn)之間路徑關(guān)系的數(shù)據(jù)結(jié)構(gòu);結(jié)果路徑獲取模塊用于將最短路徑進(jìn)行曲線擬合,得到結(jié)果路徑。進(jìn)一步,如上所述的一種圖像路徑生成系統(tǒng),所述系統(tǒng)還包括最短路徑再次生成模塊用于以先前點(diǎn)擊位置的終點(diǎn)為新的起點(diǎn),確定新的點(diǎn)擊位置終點(diǎn)后返回到待處理區(qū)域確定模塊,得到新的最短路徑;路徑拼接模塊用于將先前結(jié)果路徑與新的最短路徑進(jìn)行平滑銜接,得到新的結(jié)果路徑。本發(fā)明的有益效果在于I.采用“強(qiáng)制修補(bǔ)”(邊緣修補(bǔ))的方式,對(duì)特定邊緣進(jìn)行處理,對(duì)圖像邊緣具有一定的抗干擾特性,能夠降低邊緣中雜邊、毛刺的影響;2.通過(guò)設(shè)置強(qiáng)制操作點(diǎn),對(duì)操作者點(diǎn)擊位置具有自動(dòng)修正功能;在實(shí)際操作過(guò)程中,操作者難以準(zhǔn)確點(diǎn)擊圖像邊界位置,所以本發(fā)明允許操作者只需要在邊緣附近進(jìn)行點(diǎn)擊操作,通過(guò)修正即可完成路徑的快速生成;3.完成路徑形態(tài)的修正,使多次點(diǎn)擊過(guò)程中生成的路徑能夠平滑的銜接;在路徑生成過(guò)程中,操作者需要進(jìn)行多次點(diǎn)擊,每一次點(diǎn)擊生成的路徑在銜接過(guò)程當(dāng)中,由算法自動(dòng)完成銜接點(diǎn)的自動(dòng)修正功能,保證路徑平滑銜接。
圖I為本發(fā)明一種圖像路徑生成系統(tǒng)的結(jié)構(gòu)框圖;圖2為本發(fā)明一種圖像路徑生成方法的流程圖;圖3為實(shí)施例中的待處理圖像;圖4為實(shí)施例中的點(diǎn)擊位置示意圖;圖5為實(shí)施例中的待處理區(qū)域示意圖; 圖6為實(shí)施例中的邊界圖像示意圖;圖7為實(shí)施例中待處理區(qū)域在X方向的梯度圖像示意圖;圖8為實(shí)施例中待處理區(qū)域在Y方向的梯度圖像示意圖;圖9為實(shí)施例中待處理邊界的示意圖;圖10為實(shí)施例中X、Y兩個(gè)方向梯度圖像的梯度融合圖像;圖11為實(shí)施例中的起點(diǎn)“I”到終點(diǎn)“2”的最短路徑示意圖;圖12為實(shí)施例中的起點(diǎn)“I”到終點(diǎn)“2”的結(jié)果路徑的放大示意圖;圖13實(shí)施例中所設(shè)置的打斷點(diǎn)的示意圖;圖14和圖15為實(shí)施例中起點(diǎn)“I”到終點(diǎn)“2”的結(jié)果路徑與起點(diǎn)“2”到終點(diǎn)“3”
的最短路徑完成擬合及拼接后的最終路徑。
具體實(shí)施方式
本發(fā)明的核心思想是本發(fā)明提供了一種圖像路徑生成方法,該方法通過(guò)操作者在圖像邊界位置附近進(jìn)行點(diǎn)擊操作(選擇需要處理的邊界位置信息),由算法自動(dòng)生成點(diǎn)擊位置間的邊緣路徑,并能夠在操作者點(diǎn)擊過(guò)程當(dāng)中,利用圖像信息以及與操作者的交互,調(diào)整路徑的形態(tài),達(dá)到較為理想的整體效果。在路徑生成過(guò)程中,首先通過(guò)操作者的點(diǎn)擊位置信息,框定路徑生成區(qū)域,并對(duì)該區(qū)域內(nèi)的邊界圖像,梯度信息進(jìn)行提取,然后將得到的圖像信息與點(diǎn)擊位置信息結(jié)合,計(jì)算出操作者實(shí)際選取的邊界,將該段邊界進(jìn)行最優(yōu)路徑提取后,便得到點(diǎn)擊位置間的最優(yōu)邊界路徑鏈表,最后將已得到的最優(yōu)邊界路徑鏈表進(jìn)行擬合,生成結(jié)果路徑。下面結(jié)合說(shuō)明書(shū)附圖與具體實(shí)施方式
對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。圖I示出了本發(fā)明一種圖像路徑生成系統(tǒng)的結(jié)構(gòu)框圖,由圖中可以看出,該系統(tǒng)包括待處理區(qū)域確定模塊11、邊界信息提取模塊12、待處理邊界提取模塊13、最短路徑生成模塊14、結(jié)果路徑獲取模塊15、最短路徑再次生成模塊16和路徑拼接模塊17。其中,待處理區(qū)域確定模塊11用于通過(guò)點(diǎn)擊位置確定待處理圖像中的待處理區(qū) 域;所述點(diǎn)擊位置是指待生成的圖像路徑的起點(diǎn)和終點(diǎn);邊界信息提取模塊12用于對(duì)待處理區(qū)域進(jìn)行圖像邊緣檢測(cè),得到待處理區(qū)域的邊界信息;所述邊界信息包括待處理區(qū)域的邊界圖像,以及待處理區(qū)域在X、Y方向的梯度圖像;待處理邊界提取模塊13用于根據(jù)點(diǎn)擊位置和邊界圖像提取待處理邊界,并得到待處理邊界的邊界鏈;所述待處理邊界是指距離點(diǎn)擊位置最近的邊界圖像中的連通邊界;所述邊界鏈?zhǔn)侵复幚磉吔绲倪吔琰c(diǎn)的坐標(biāo)信息;最短路徑生成模塊14用于根據(jù)點(diǎn)擊位置以及待處理區(qū)域的X、Y方向的梯度圖像,生成邊界鏈的有向圖,并采用最短路徑生成算法提取點(diǎn)擊位置的起點(diǎn)至終點(diǎn)的最短路徑;所述有向圖是表述邊界鏈中各邊界點(diǎn)之間路徑關(guān)系的數(shù)據(jù)結(jié)構(gòu);結(jié)果路徑獲取模塊15用于將最短路徑進(jìn)行曲線擬合,得到結(jié)果路徑;最短路徑再次生成模塊16用于以先前點(diǎn)擊位置的終點(diǎn)為新的起點(diǎn),確定新的點(diǎn)擊位置終點(diǎn)后返回到待處理區(qū)域確定模塊,得到新的最短路徑;路徑拼接模塊17用于將先前結(jié)果路徑與新的最短路徑進(jìn)行平滑銜接,得到新的結(jié)果路徑。在圖像路徑生成過(guò)程中,如果只需要完成一次的路徑生成,那么待處理區(qū)域確定模塊11、邊界信息提取模塊12、待處理邊界提取模塊13、最短路徑生成模塊14和結(jié)果路徑獲取模塊15即可以實(shí)現(xiàn)結(jié)果路徑生成。如果需要通過(guò)多次路徑生成完成最終的圖像路徑,就需要在上述幾個(gè)模塊的基礎(chǔ)上結(jié)合最短路徑再次生成模塊16和路徑拼接模塊17來(lái)實(shí)現(xiàn)。圖2示出了本發(fā)明一種圖像路徑生成方法的流程圖,由圖中可以看出,該方法主要包括以下步驟步驟S21 :確定待處理區(qū)域;選擇待處理圖像,通過(guò)點(diǎn)擊位置確定圖像中的待處理區(qū)域。其中,點(diǎn)擊位置是指待生成的圖像路徑的起點(diǎn)和終點(diǎn),該點(diǎn)擊位置是通過(guò)操作者在待處理圖像中通過(guò)點(diǎn)擊確認(rèn)的,如圖3中所示的待處理圖像,操作者通過(guò)點(diǎn)擊操作確定點(diǎn)擊位置信息(圖4中的起點(diǎn)I和終點(diǎn)2),然后根據(jù)點(diǎn)擊位置信息確定待處理區(qū)域。在確定待處理區(qū)域時(shí),操作者可以根據(jù)需要設(shè)定待處理區(qū)域的最小設(shè)定范圍,如果通過(guò)點(diǎn)擊位置確定的待處理區(qū)域大于或等于設(shè)定范圍,則以實(shí)際的待處理區(qū)域作為待處理區(qū)域;如果通過(guò)點(diǎn)擊位置確定的待處理區(qū)域小于設(shè)定范圍,則以設(shè)定值的范圍作為待處理區(qū)域。步驟S22 :對(duì)待處理區(qū)域進(jìn)行圖像邊緣檢測(cè),得到待處理區(qū)域的邊界信息;對(duì)步驟S21中得到的待處理區(qū)域進(jìn)行圖像邊緣檢測(cè),并提取待處理區(qū)域的邊界信息,其中包括待處理區(qū)域的邊界圖像,以及待處理區(qū)域在X、Y方向上的梯度圖像。在步驟S21確定圖像的待處理區(qū)域后,可以針對(duì)不同質(zhì)量的待處理區(qū)域圖像,采用不同的預(yù)處理方式,提高圖像的質(zhì)量,使圖像質(zhì)量能夠滿足要求對(duì)于質(zhì)量較差的圖像,在選定后可采用常用的圖像處理方法對(duì)圖像進(jìn)行預(yù)處理,如降噪處理等,以提高圖像的質(zhì)量;對(duì)于質(zhì)量比較好的圖像,可直接進(jìn)行待處理區(qū)域圖像的邊緣檢測(cè)。當(dāng)然,操作者可以根據(jù)各自的判斷選擇是否對(duì)圖像進(jìn)行預(yù)處理,而且預(yù)處理到怎樣的效果也都是由操作者決定的,并沒(méi)有強(qiáng)制的要求。 本實(shí)施方式中,在進(jìn)行圖像邊緣檢測(cè)時(shí),一般采用常用的圖像邊緣檢測(cè)算法來(lái)完成,并提取檢測(cè)后的相應(yīng)的邊緣檢測(cè)信息,如梯度等。在圖像邊緣檢測(cè)算法當(dāng)中,可以采用“強(qiáng)制修補(bǔ)”的方式(邊緣檢測(cè)算法當(dāng)中的邊界修補(bǔ)功能),完成對(duì)特定邊緣(如強(qiáng)鋸齒邊緣)的檢測(cè)。其中,在完成圖像邊緣檢測(cè)后,針對(duì)邊緣中出現(xiàn)斷裂以及非平滑的現(xiàn)象,算法通過(guò)二值圖像的形態(tài)學(xué)操作進(jìn)行消除,避免由于圖像邊緣質(zhì)量而帶來(lái)的路徑不平滑現(xiàn)象。在進(jìn)行圖像邊緣檢測(cè)時(shí),也可以采用圖割算法進(jìn)行圖像邊緣檢測(cè)操作時(shí),該方案需要操作者指定路徑生成區(qū)域內(nèi)的前景與背景區(qū)域,由圖割算法完成兩者之間的拆分,算法得到的拆分前、背景區(qū)域的分割線,通過(guò)擬合算法后,即是生成的路徑,該方案由于采取圖割算法,在生成路徑過(guò)程中,不依賴邊界信息,對(duì)弱梯度區(qū)域有較好的適應(yīng)性,但是該方案交互方式較為復(fù)雜,整體路徑生成效率較低,不利于全圖路徑的生成操作。所以在實(shí)際的操作過(guò)程中一般都采用圖像邊緣檢測(cè)算法來(lái)完成該步驟。其中,圖像邊緣檢測(cè)算法或者圖割算法都是現(xiàn)有的邊緣檢測(cè)算法,本實(shí)施方式中不再進(jìn)行詳細(xì)的說(shuō)明。步驟S23 :根據(jù)點(diǎn)擊位置和邊界圖像提取待處理邊界,并得到待處理邊界的邊界鏈;根據(jù)步驟S22中提取的待處理區(qū)域的邊界圖像,結(jié)合步驟S21中的點(diǎn)擊位置信息,提取待處理邊界,并得到待處理區(qū)域的邊界鏈。其中,待處理邊界是指距離點(diǎn)擊位置最近的邊界圖像中的連通邊界;邊界鏈?zhǔn)侵复幚磉吔绲倪吔琰c(diǎn)的坐標(biāo)信息。在提取待處理邊界時(shí),在邊界圖像中的點(diǎn)擊起點(diǎn)與終點(diǎn)附近,一般存在多條不相交的邊界,而用戶所要勾畫(huà)的僅僅只有一條,即距離點(diǎn)擊位置最近的邊界,通過(guò)點(diǎn)擊位置以及邊界位置信息判斷,提取出距離點(diǎn)擊位置最近的連通邊界,即為待處理邊界。根據(jù)點(diǎn)擊信息在邊界圖像中通過(guò)距離關(guān)系得到待處理邊界,在實(shí)際的處理過(guò)程中,會(huì)通過(guò)數(shù)組的方式,存儲(chǔ)待處理邊界的各邊界點(diǎn)坐標(biāo),形成邊界鏈。在待處理邊界提取過(guò)程中,首先需要對(duì)邊界圖像中的各條邊界進(jìn)行連通域標(biāo)定,即同一條連通的邊界具有一個(gè)標(biāo)定值,然后在點(diǎn)擊位置起點(diǎn)、終點(diǎn)一定區(qū)域內(nèi)尋找是否有相同的標(biāo)定值存在,其中,若在起點(diǎn)和終點(diǎn)處都存在數(shù)目相同并且數(shù)值相同的多個(gè)標(biāo)定值,則選取離起點(diǎn)和終點(diǎn)距離和最近的一組標(biāo)定值對(duì)應(yīng)的邊界;若起點(diǎn)處標(biāo)定值在終點(diǎn)處不存在,或者終點(diǎn)處的標(biāo)定值在起點(diǎn)處不存在,則點(diǎn)擊位置錯(cuò)誤,無(wú)法繼續(xù)下一步工作,返回錯(cuò)誤信息;若在起點(diǎn)處存在多組標(biāo)定值,而在終點(diǎn)處僅存在一個(gè)與起點(diǎn)處標(biāo)定值相同的標(biāo)定值,則提取終點(diǎn)處標(biāo)定值對(duì)應(yīng)的邊界,反之,若在終點(diǎn)處存在多組標(biāo)定值,而起點(diǎn)處僅存在一個(gè)與終點(diǎn)處標(biāo)定值相同的標(biāo)定值,則提取起點(diǎn)處標(biāo)定值對(duì)應(yīng)的邊界。步驟S24 :生成邊界鏈的有向圖;根據(jù)點(diǎn)擊位置以及步驟S22中提取的待處理區(qū)域X、Y方向的梯度圖像,生成邊界鏈的有向圖,并采用最短路徑生成算法提取點(diǎn)擊位置的起點(diǎn)至終點(diǎn)的最短路徑。其中,說(shuō)明有向圖是邊界鏈各點(diǎn)(邊界點(diǎn))之間的路徑關(guān)系,它只是一種數(shù)據(jù)結(jié)構(gòu)的表述。有向圖生成的具體方式為根據(jù)待處理區(qū)域的X、Y方向的梯度圖像,計(jì)算邊界鏈中起點(diǎn)到終點(diǎn)的所有節(jié)點(diǎn)(邊界點(diǎn))間的梯度值,將該梯度值作為節(jié)點(diǎn)間的權(quán)重,構(gòu)成有向圖;所述梯度值是指在邊緣檢測(cè)中提取的X、Y方向的梯度融合值。 在該步驟中每一次完成最短路徑提取之后,會(huì)記錄該次最短路徑的路徑生成信息,在下一次進(jìn)行最短路徑提取時(shí),根據(jù)點(diǎn)擊位置、邊界信息以及先前路徑生成信息生成邊界鏈的有向圖。在生成邊界鏈之后,圖像上邊界點(diǎn)的位置信息便存儲(chǔ)在邊界鏈之中,并且在邊界鏈當(dāng)中,各個(gè)坐標(biāo)點(diǎn)相鄰,從任意一個(gè)邊界點(diǎn)出發(fā),可以直接到達(dá)與其相鄰的邊界點(diǎn),如果不考慮梯度等信息的影響,則從任意一個(gè)邊界點(diǎn)出發(fā)到任意一個(gè)邊界點(diǎn)的距離即為一個(gè)累加值。在圖生成算法當(dāng)中,邊界鏈中的一個(gè)節(jié)點(diǎn)為圖中的一個(gè)節(jié)點(diǎn),與該節(jié)點(diǎn)相鄰的邊界點(diǎn)為圖中該節(jié)點(diǎn)所能直接達(dá)到的位置節(jié)點(diǎn),而在圖中,某節(jié)點(diǎn)達(dá)到與其相鄰的節(jié)點(diǎn),需要一定的消耗值,本實(shí)施方式中定義為距離或者權(quán)重,該距離通過(guò)X、Y方向的融合梯度求得,而權(quán)重的生成原則為當(dāng)不存在先前路徑時(shí),節(jié)點(diǎn)與節(jié)點(diǎn)的權(quán)重,與梯度強(qiáng)度有關(guān),梯度強(qiáng)度越大,權(quán)重越小,反之權(quán)重越大;當(dāng)存在先前路徑時(shí),當(dāng)前路徑不能與先前路徑重疊,所以先前路徑節(jié)點(diǎn)權(quán)重均為無(wú)窮大,當(dāng)前路徑節(jié)點(diǎn)間權(quán)重與梯度強(qiáng)度相關(guān),也是梯度強(qiáng)大越大,權(quán)重越小,反之,權(quán)重越大。所以,在有向圖的生成過(guò)程中,需要加入圖像中梯度信息以及先前路徑的影響,即從任意一個(gè)點(diǎn)出發(fā),到達(dá)另外一個(gè)點(diǎn),點(diǎn)與點(diǎn)之間如果梯度越強(qiáng),表明邊界越顯著,兩點(diǎn)之間的距離也越短,而針對(duì)已存在的路徑,則不可能進(jìn)行路徑的回退,所以對(duì)已走過(guò)的路徑(先前路徑生成信息),距離設(shè)定為無(wú)窮大(權(quán)重設(shè)置為無(wú)窮大),表明在圖當(dāng)中,不可能走該條路徑,從而生成一張路徑圖,圖中各節(jié)點(diǎn)為邊界點(diǎn),各節(jié)點(diǎn)間的距離為梯度的加權(quán)值。完成有向圖的生成后,采用最短路徑生成算法(現(xiàn)有技術(shù)),生成點(diǎn)擊起點(diǎn)到終點(diǎn)的最短路徑。步驟S25 :將最短路徑進(jìn)行曲線擬合,生成結(jié)果路徑。將步驟S24得到的最短路徑進(jìn)行曲線擬合,得到結(jié)果路徑,即為生成的圖像路徑。通過(guò)上述步驟S21 S25即完成了一次圖像路徑的生成。如果在路徑生成過(guò)程中,只需要完成一次路徑生成,那么步驟Sll S15即可完成一次完整的結(jié)果路徑的生成,而在實(shí)際的圖像路徑生成過(guò)程中,因?yàn)樵趫D像的路徑處理過(guò)程中,可能由于圖像的大小或者復(fù)雜程度,無(wú)法很好的一次性就完成圖像路徑的提取,所以通過(guò)選定位置信息,即邊界的端點(diǎn)信息,將需要處理的圖像的邊界分成多次的路徑提取,以保證最后生成路徑的質(zhì)量。所以完成一次路徑生成之后,如果操作者還需要在此基礎(chǔ)上繼續(xù)進(jìn)行圖像路徑的生成,則該方法還包括以下步驟步驟S26 :以先前點(diǎn)擊位置的終點(diǎn)為起點(diǎn),確定新的點(diǎn)擊位置,重復(fù)步驟S21 步驟S24,得到新的最短路徑;完成一段路徑生成后,可以繼續(xù)進(jìn)行點(diǎn)擊,此時(shí)默認(rèn)當(dāng)前路徑起點(diǎn)為前一段路徑終點(diǎn),重復(fù)步驟S21 步驟S24,生成此時(shí)點(diǎn)擊的最短路徑,在步驟S24中,由于有先前路徑存在,所以先前路徑節(jié)點(diǎn)間權(quán)重設(shè)置為無(wú)窮大,使得最短路徑算法求取的路徑不會(huì)與前一段路徑重疊。在存在先前路徑(該路徑與當(dāng)前路徑相銜接)的情況下,為了實(shí)現(xiàn)銜接點(diǎn)的平滑過(guò)渡,通過(guò)在前一段路徑生成過(guò)程中設(shè)置打斷點(diǎn),實(shí)現(xiàn)結(jié)果路徑與新的最短路徑的平滑拼接;具體方式為I)在結(jié)果路徑中設(shè)直打斷點(diǎn);2)將打斷點(diǎn)之后的結(jié)果路徑中的曲線轉(zhuǎn)化為像素坐標(biāo)點(diǎn),與新的最短路徑進(jìn)行拼接;3)將拼接之后的路徑進(jìn)行曲線擬合,得到新的路徑結(jié)果,并將擬合后的結(jié)果在打斷點(diǎn)處完成拼接。在實(shí)際生成路徑的過(guò)程中,每一段生成的曲線在末端均存在一個(gè)打斷位置,在生成下一條邊界的過(guò)程中,從打斷位置起將最后一段曲線轉(zhuǎn)換成實(shí)際的像素點(diǎn),然后與現(xiàn)有的生成路徑進(jìn)行拼接,拼合后的路徑依舊是像素坐標(biāo)表示,并進(jìn)行整體的擬合,最后在打斷位置處進(jìn)行曲線的平滑拼接。處理方式分為兩種情況I.點(diǎn)擊的起始點(diǎn)為一個(gè)尖角點(diǎn)。在這種情況下,在整體擬合中,通過(guò)夾角判斷能夠得到點(diǎn)擊起始點(diǎn)處的角度滿足尖角點(diǎn)條件,此時(shí),直接將起始點(diǎn)之后的曲線與先前的曲線進(jìn)行拼接,完成路徑的生成;2.點(diǎn)擊起始點(diǎn)為一個(gè)平滑點(diǎn)。在這種情況下,由于完成了當(dāng)前路徑與先前路徑末端路徑的整體擬合,能夠保證在點(diǎn)擊起始位置處的平滑性,剩下的僅僅是調(diào)整打斷點(diǎn)處的平滑性,方法為在設(shè)定的誤差范圍內(nèi),將整體擬合的路徑的起始點(diǎn)與打斷點(diǎn)拼接,調(diào)整打斷點(diǎn)平滑性,保證新生成路徑平滑。步驟S27 :將先前結(jié)果路徑與新的最短路徑進(jìn)行曲線擬合,得到新的結(jié)果路徑。在進(jìn)行曲線擬合時(shí),考慮到操作者交互的擴(kuò)展性,本方法提供了對(duì)路徑曲線首尾點(diǎn)強(qiáng)制位置的功能,保證操作者在路徑描畫(huà)過(guò)程中,能夠?qū)δ承c(diǎn)的位置進(jìn)行人為的控制,進(jìn)一步保證路徑生成質(zhì)量。下面結(jié)合具體的實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)的說(shuō)明。實(shí)施例圖3為本實(shí)施例中的待處理圖像,該圖像的分辨率為3691X5456。首先,由操作者進(jìn)行點(diǎn)擊操作,確定本實(shí)施例圖像的點(diǎn)擊位置,如圖4所示,圖中點(diǎn)擊位置的起點(diǎn)為“1”,終點(diǎn)為“2”。確定點(diǎn)擊位置后,根據(jù)點(diǎn)擊位置確定圖像中的待處理 區(qū)域,本實(shí)施方式中設(shè)定的待處理區(qū)域的最小設(shè)定值為1000X1000,由于由點(diǎn)擊位置的長(zhǎng)度和寬度所確定的區(qū)域小于設(shè)定值,所以本實(shí)施例中的待處理區(qū)域?yàn)樵O(shè)定值1000X1000,根據(jù)點(diǎn)擊位置信息和設(shè)定值得到本實(shí)施例的待處理區(qū)域如圖5所示。之后對(duì)待處理區(qū)域進(jìn)行邊緣檢測(cè),本實(shí)施例中通過(guò)圖像邊緣檢測(cè)算法得到待處理區(qū)域的邊界信息,包括如6所示的邊界圖像,圖7所示的待處理區(qū)域在X方向的梯度圖,圖8所示的Y方向的梯度圖;再根據(jù)點(diǎn)擊位置和邊界圖像提取待處理邊界,由邊界圖像(圖6)可以看出,在點(diǎn)擊起點(diǎn)和終點(diǎn)附近,存在多條不相交的邊界,提取出舉例點(diǎn)擊位置最近的連通邊界,如圖9所示,即為待處理邊界,并通過(guò)數(shù)組存儲(chǔ)各邊界點(diǎn)的坐標(biāo)信息,形成邊界鏈。之后根據(jù)圖7和圖8中的梯度圖像,生成邊界鏈的有向圖,通過(guò)X、Y方向上的融合梯度求的,最后得到融合梯度圖像,如圖10所示,再采用最短路徑生成算法,生成點(diǎn)擊起點(diǎn)到終點(diǎn)的最短路徑,如圖11所示,最 后將生成的最短路徑進(jìn)行曲線擬合,得到結(jié)果路徑,結(jié)果路徑的放大圖如圖12所示。完成圖12所示的路徑生成之后,繼續(xù)點(diǎn)擊,以該路徑的終點(diǎn)“2”為起點(diǎn),確定新的終點(diǎn)“3”,重復(fù)上述過(guò)程,生成新的最短路徑。再將圖12中的結(jié)果路徑與新的路徑進(jìn)行銜接時(shí),首先在圖12中的路徑中設(shè)置打斷點(diǎn),如圖13中的點(diǎn)A,并將A點(diǎn)之后的曲線轉(zhuǎn)化為像素坐標(biāo)點(diǎn),完成于新的當(dāng)前路徑的拼接,并一同進(jìn)行擬合,完成兩段路徑的拼接,得到最后的擬合曲線,如圖14和圖15所示。當(dāng)然,可以通過(guò)設(shè)置強(qiáng)制操作點(diǎn),在路徑的生成及曲線擬合過(guò)程中,由操作者進(jìn)行路徑形態(tài)的調(diào)整,更好的保證路徑質(zhì)量。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種圖像路徑生成方法,包括以下步驟(1)選擇待處理圖像,通過(guò)點(diǎn)擊位置確定圖像中的待處理區(qū)域;所述點(diǎn)擊位置是指待 生成的圖像路徑的起點(diǎn)和終點(diǎn);(2)對(duì)待處理區(qū)域進(jìn)行圖像邊緣檢測(cè),得到待處理區(qū)域的邊界信息;所述邊界信息包 括待處理區(qū)域的邊界圖像,以及待處理區(qū)域在X、Y方向的梯度圖像;(3)根據(jù)點(diǎn)擊位置和邊界圖像提取待處理邊界,并得到待處理邊界的邊界鏈;所述待 處理邊界是指距離點(diǎn)擊位置最近的邊界圖像中的連通邊界;所述邊界鏈?zhǔn)侵复幚磉吔绲?邊界點(diǎn)的坐標(biāo)信息;(4)根據(jù)點(diǎn)擊位置以及待處理區(qū)域的X、Y方向的梯度圖像,生成邊界鏈的有向圖,并采 用最短路徑生成算法提取點(diǎn)擊位置的起點(diǎn)至終點(diǎn)的最短路徑;所述有向圖是表述邊界鏈中 各邊界點(diǎn)之間路徑關(guān)系的數(shù)據(jù)結(jié)構(gòu);(5)將最短路徑進(jìn)行曲線擬合,得到結(jié)果路徑。
2.如權(quán)利要求1所述的一種圖像路徑生成方法,其特征在于所述方法還包括以下步驟(6)以先前點(diǎn)擊位置的終點(diǎn)為新的起點(diǎn),確定新的點(diǎn)擊位置終點(diǎn),重復(fù)步驟(1) 步驟 (4),得到新的最短路徑;(7)將所述先前結(jié)果路徑與新的最短路徑進(jìn)行平滑銜接,得到新的結(jié)果路徑。
3.如權(quán)利要求1或2所述的一種圖像路徑生成方法,其特征在于步驟(4)中,所述有 向圖生成的具體方式為根據(jù)待處理區(qū)域的X、Y方向的梯度圖像,計(jì)算邊界鏈中起點(diǎn)到終點(diǎn)的所有邊界點(diǎn)之間 的梯度值,并將該梯度值作為邊界點(diǎn)間的權(quán)重,構(gòu)成有向圖;所述梯度值是指在邊緣檢測(cè)中 所提取的X、Y方向的梯度融合值。
4.如權(quán)利要求3所述的一種圖像路徑生成方法,其特征在于步驟(4)中,完成每一次 最短路徑提取后,記錄最短路徑的路徑生成信息,在下一次進(jìn)行最短路徑提取時(shí),根據(jù)點(diǎn)擊 位置、邊界信息以及先前路徑生成信息生成邊界鏈的有向圖。
5.如權(quán)利要求4所述的一種圖像路徑生成方法,其特征在于步驟(4)中,在進(jìn)行邊界 路徑提取時(shí),如果存在先前路徑,將先前路徑各邊界點(diǎn)間的權(quán)重設(shè)置為無(wú)窮大。
6.如權(quán)利要求5所述的一種圖像路徑生成方法,其特征在于步驟(7)中,通過(guò)在結(jié)果 路徑中設(shè)置打斷點(diǎn),實(shí)現(xiàn)結(jié)果路徑與新的最短路徑的平滑銜接;具體方式為1)在結(jié)果路徑中設(shè)置打斷點(diǎn);2)將打斷點(diǎn)之后的結(jié)果路徑中的曲線轉(zhuǎn)化為像素坐標(biāo)點(diǎn),與新的最短路徑進(jìn)行拼接;3)將拼接之后的路徑進(jìn)行曲線擬合,得到新的路徑結(jié)果,并將擬合后的結(jié)果在打斷點(diǎn) 處完成拼接。
7.如權(quán)利要求6所述的一種圖像路徑生成方法,其特征在于步驟(1)中,設(shè)置待處理 區(qū)域的最小設(shè)定范圍,當(dāng)待處理區(qū)域大于或等于設(shè)定范圍時(shí),以待處理區(qū)域的實(shí)際大小作 為待處理區(qū)域;當(dāng)待處理區(qū)域小于設(shè)定范圍時(shí),以設(shè)定值作為待處理區(qū)域。
8.如權(quán)利要求7所述的一種圖像路徑生成方法,其特征在于步驟(2)中,對(duì)待處理區(qū) 域的圖像進(jìn)行預(yù)處理后進(jìn)行圖像邊緣檢測(cè),所述預(yù)處理包括降噪處理。
9.如權(quán)利要求8所述的一種圖像路徑生成方法,其特征在于步驟(2)中,利用圖像邊緣檢測(cè)算法完成圖像邊緣檢測(cè)。
10.如權(quán)利要求9所述的一種圖像路徑生成方法,其特征在于步驟(2)中,完成圖像 邊緣檢測(cè)后,通過(guò)二值圖像的形態(tài)學(xué)操作對(duì)邊緣中出現(xiàn)的斷裂及非平滑現(xiàn)象進(jìn)行消除。
11.一種圖像路徑生成系統(tǒng),包括待處理區(qū)域確定模塊用于通過(guò)點(diǎn)擊位置確定待處理圖像中的待處理區(qū)域;所述點(diǎn)擊 位置是指待生成的圖像路徑的起點(diǎn)和終點(diǎn);邊界信息提取模塊用于對(duì)待處理區(qū)域進(jìn)行圖像邊緣檢測(cè),得到待處理區(qū)域的邊界信 息;所述邊界信息包括待處理區(qū)域的邊界圖像,以及待處理區(qū)域在X、Y方向的梯度圖像; 待處理邊界提取模塊用于根據(jù)點(diǎn)擊位置和邊界圖像提取待處理邊界,并得到待處理 邊界的邊界鏈;所述待處理邊界是指距離點(diǎn)擊位置最近的邊界圖像中的連通邊界;所述邊 界鏈?zhǔn)侵复幚磉吔绲倪吔琰c(diǎn)的坐標(biāo)信息;最短路徑生成模塊用于根據(jù)點(diǎn)擊位置以及待處理區(qū)域的X、Y方向的梯度圖像,生成 邊界鏈的有向圖,并采用最短路徑生成算法提取點(diǎn)擊位置的起點(diǎn)至終點(diǎn)的最短路徑;所述 有向圖是表述邊界鏈中各邊界點(diǎn)之間路徑關(guān)系的數(shù)據(jù)結(jié)構(gòu);結(jié)果路徑獲取模塊用于將最短路徑進(jìn)行曲線擬合,得到結(jié)果路徑。
12.如權(quán)利要求11所述的一種圖像路徑生成系統(tǒng),其特征在于所述系統(tǒng)還包括 最短路徑再次生成模塊用于以先前點(diǎn)擊位置的終點(diǎn)為新的起點(diǎn),確定新的點(diǎn)擊位置終點(diǎn)后返回到待處理區(qū)域確定模塊,得到新的最短路徑;路徑拼接模塊用于將先前結(jié)果路徑與新的最短路徑進(jìn)行平滑銜接,得到新的結(jié)果路徑。
全文摘要
本發(fā)明公開(kāi)了一種圖像路徑生成方法及系統(tǒng),涉及圖像處理中的目標(biāo)路徑生成領(lǐng)域。該方法首先通過(guò)點(diǎn)擊位置確定圖像中的待處理區(qū)域,并對(duì)待處理區(qū)域進(jìn)行圖像邊緣信息檢測(cè),提取相應(yīng)的圖像邊界信息,根據(jù)邊界圖像得到待處理邊界,并生成待處理邊界的邊界鏈,再根據(jù)點(diǎn)擊位置和邊界信息中的梯度圖像生成邊界鏈的有向圖,并采用最短路徑生成算法提取最短路徑,最后通過(guò)路徑曲線擬合得到所需的結(jié)果路徑。該方法通過(guò)對(duì)圖像局部信息進(jìn)行判斷,完成圖像路徑的生成,并通過(guò)在操作過(guò)程中設(shè)置強(qiáng)制操作點(diǎn),使操作者能夠自動(dòng)調(diào)整生成路徑的狀態(tài),保證了生成路徑的質(zhì)量。
文檔編號(hào)G06T11/00GK102663787SQ20121009146
公開(kāi)日2012年9月12日 申請(qǐng)日期2012年3月31日 優(yōu)先權(quán)日2012年3月31日
發(fā)明者張宏志, 李宏亮, 李福強(qiáng), 楊鏡, 薛濤, 袁夢(mèng)尤 申請(qǐng)人:方正國(guó)際軟件(北京)有限公司, 方正國(guó)際軟件有限公司