亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種提取對象邊緣的方法和裝置的制作方法

文檔序號:6483575閱讀:270來源:國知局
專利名稱:一種提取對象邊緣的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)圖像處理領(lǐng)域,特別涉及一種提取對象邊緣的方法和裝置。
背景技術(shù)
隨著計算機(jī)技術(shù)日新月異的發(fā)展,計算機(jī)圖像處理技術(shù)也在日趨成熟。在計算機(jī)圖像處理中,經(jīng)常需要從一幅圖像中提取某個對象,例如,將一張照片中的人物提取出來,然后放到另外一個背景上,從而形成一張新的照片。從一幅圖像中提取某個對象時,如何快速而準(zhǔn)確地提取出對象的邊緣便是一個值得深入研究的問題。
現(xiàn)有技術(shù)中,主要是通過使用Photoshop圖像處理軟件中的路徑工具、魔術(shù)棒等工具,從一幅圖像中提取對象的邊緣;另外,還可以通過智能剪刀算法從一幅圖像中提取對象的邊
緣,智能剪刀算法的原理是,用戶首先在圖像中選擇一個種子錨點,然后在用戶移動鼠標(biāo)的過程中,通過迭代計算將包含該種子錨點和鼠標(biāo)當(dāng)前位置的區(qū)域作為對象的邊緣。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題
1) 對于路徑工具而言,提取對象邊緣時,如果用戶輸入的兩個錨點之間的距離較遠(yuǎn)時,便得不到精確的對象邊緣;如果要想得到精確的對象邊緣,就需要在對象邊緣的每一個細(xì)小
的拐點都點上一個錨點,就需要很大的工作量。
2) 對于魔術(shù)棒工具而言,提取對象邊緣時,是通過提取對象的區(qū)域得到對象邊緣,當(dāng)對象區(qū)域內(nèi)部的顏色變化豐富時,會提取到錯誤的對象邊緣,所以不能提取顏色變化豐富的對象,特別是對象內(nèi)部的顏色種類很多而且與背景顏色種類相似的時候。
3) 對于智能剪刀算法而言,提取對象邊緣時,需要多次迭代計算才能提取到對象的邊緣,需要的時間很長;并且,智能剪刀算法同魔術(shù)棒工具一樣,不能提取顏色變化豐富的對象。

發(fā)明內(nèi)容
為了提高提取對象邊緣的精確度、減小提取對象邊緣的工作量,本發(fā)明實施例提供了一種提取對象邊緣的方法和裝置。所述技術(shù)方案如下
一方面,本發(fā)明實施例提供了一種提取對象邊緣的方法,所述方法包括接收在輸入圖像的對象邊緣上輸入的初始錨點和終點錨點;將所述輸入圖像轉(zhuǎn)換為邊緣圖像;
根據(jù)所述邊緣圖像和預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取所述初始錨點和所述終
點錨點之間的對象邊緣。
一方面,本發(fā)明實施例提供了一種提取對象邊緣的裝置,所述裝置包括
接收模塊,用于接收在輸入圖像的對象邊緣上輸入的初始錨點和終點錨點;
轉(zhuǎn)換模塊,用于在所述接收模塊接收到所述初始錨點和所述終點錨點后,將所述輸入圖
像轉(zhuǎn)換為邊緣圖像;
提取模塊,用于在所述轉(zhuǎn)換模塊將所述輸入圖像轉(zhuǎn)換為邊緣圖像后,根據(jù)所述邊緣圖像和預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取所述初始錨點和所述終點錨點之間的對象邊緣。本發(fā)明實施例提供的技術(shù)方案的有益效果是
運(yùn)用啟發(fā)式評價函數(shù)提取算法,計算在對象邊緣上輸入的兩個錨點之間的路徑,可以精確地得到對象邊緣的路徑,提高了提取對象邊緣的精確度;并且在對象邊緣上輸入的兩個錨點距離很遠(yuǎn)的情況下,也可以精確地得到對象邊緣的路徑,從而減少了提取對象邊緣的工作量;進(jìn)一步地,本發(fā)明是基于邊緣圖像來提取對象邊緣的,對象區(qū)域內(nèi)部的顏色變化對于提取對象邊緣沒有影響,在對象區(qū)域內(nèi)部顏色變化豐富時也可以得到很精確的結(jié)果;另外,與智能剪刀算法相比,提取對象邊緣時需要的時間縮短了很多。


圖1是本發(fā)明實施例1提供的一種提取對象邊緣的方法流程圖;圖2是本發(fā)明實施例2提供的一種提取對象邊緣的方法流程圖;圖3是本發(fā)明實施例3提供的一種提取對象邊緣的裝置結(jié)構(gòu)示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
本發(fā)明實施例提出采用啟發(fā)式函數(shù)搜索算法中的評價函數(shù)來實現(xiàn)提取對象邊緣,其中,啟發(fā)式函數(shù)搜索算法是一種搜索算法,在提取對象邊緣時為了得到初始錨點和終點錨點之間的邊緣,往往需要用到搜索算法,而在眾多的搜索算法中,基于啟發(fā)式函數(shù)的搜索算法通常能得到很好的搜索結(jié)果。啟發(fā)式函數(shù)搜索算法就是對空間中的每一個位置進(jìn)行評估,從而得到最優(yōu)的位置,并從該最優(yōu)位置重新開始搜索直到找到目的點。在啟發(fā)式函數(shù)搜索算法中,用于評價節(jié)點位置重要性的函數(shù)叫做評價函數(shù),評價函數(shù)的主要任務(wù)就是估計待搜索節(jié)點的重要程度,以確定節(jié)點的優(yōu)先級程度。評價函數(shù)的一般形式為f(x)=g(X)+h(x),其中,g(x)表示初始節(jié)點到當(dāng)前節(jié)點已經(jīng)實際付出的代價函數(shù),h(x)表示當(dāng)前節(jié)點到目標(biāo)節(jié)點的最優(yōu)路徑的估計代價函數(shù),在確定f(x)時,要使得g(x)與h(x)各占適當(dāng)?shù)谋嚷?,?gòu)造和選擇合適的啟發(fā)函數(shù)h(X)是啟發(fā)式搜索的關(guān)鍵,在構(gòu)造h(X)時,應(yīng)滿足兩個方面的要求首先,啟發(fā)函數(shù)要
簡單易算;其次,函數(shù)要有較高的精確度,能夠反應(yīng)問題的實際情況。為了快速而準(zhǔn)確地提取出對象的邊緣,本發(fā)明實施例采用啟發(fā)式函數(shù)搜索算法來搜索初始錨點和終點錨點之間的路徑,并且本發(fā)明實施例預(yù)先設(shè)置的啟發(fā)式評價函數(shù)的形式如下,F(xiàn) = Thres/(G+l)+H,其中G是已經(jīng)付出的代價函數(shù)、H是最優(yōu)路徑的估計代價函數(shù)、Thres是對G和H的權(quán)重的一個衡量值,下面將詳細(xì)描述本發(fā)明實施例具體是如何利用預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取對象邊緣的。實施例1
本發(fā)明實施例提供了一種提取對象邊緣的方法,參見圖l,該方法包括
101:接收在輸入圖像的對象邊緣上輸入的初始錨點和終點錨點;102:將輸入圖像轉(zhuǎn)換為邊緣圖像;
103:根據(jù)邊緣圖像和預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取初始錨點和終點錨點之間的對象邊緣。
其中,根據(jù)邊緣圖像和預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取初始錨點和終點錨點之間的對象邊緣,具體包括
將邊緣圖像中包含的點標(biāo)記為未到達(dá)點;
將邊緣圖像中的與初始錨點對應(yīng)的點標(biāo)記為已到達(dá)點,并將初始錨點存儲在第一堆棧和第二堆棧中;
從第一堆棧中取出待計算點;判斷待計算點是否是終點錨點;
當(dāng)判斷結(jié)果是待計算點不是終點錨點時,則統(tǒng)計待計算點的周圍未到達(dá)點的數(shù)目;判斷周圍未到達(dá)點的數(shù)目是否大于0;
當(dāng)判斷結(jié)果是周圍未到達(dá)點的數(shù)目大于0時,則計算所有周圍未到達(dá)點的啟發(fā)式評價函數(shù)值,得到所有周圍未到達(dá)點的啟發(fā)式評價函數(shù)值;
比較所有周圍未到達(dá)點的啟發(fā)式評價函數(shù)值之間的大小;
8將對應(yīng)最小啟發(fā)式評價函數(shù)值的周圍未到達(dá)點存儲在第二堆棧中,并標(biāo)記對應(yīng)最小啟發(fā) 式評價函數(shù)值的周圍未到達(dá)點為己到達(dá)點,并按照啟發(fā)式評價函數(shù)值從大到小的順序,將對 應(yīng)啟發(fā)式評價函數(shù)值的周圍未到達(dá)點依次存儲在第一堆棧中;
執(zhí)行從第 一堆棧中取出待計算點步驟。
其中,上述啟發(fā)式評價函數(shù)值具體為
其中,G的取值為待計算點與周圍未到達(dá)點之間的顏色梯度差、//的取值為周圍未到達(dá) 點與終點錨點之間的路徑長度、77^M的取值為[5, 10]。
進(jìn)一步地,當(dāng)判斷結(jié)果是周圍未到達(dá)點的數(shù)目等于O時,還包括
將待計算點標(biāo)記為不可達(dá)到點; 將待計算點從第二堆棧中刪除; 執(zhí)行從第一堆棧中取出待計算點步驟。
進(jìn)一步地,當(dāng)判斷結(jié)果是待計算點是終點錨點時,還包括;
將終點錨點和第二堆棧中包含的點依次連接起來,提取到初始錨點和終點錨點之間的對 象邊緣。
其中,將輸入圖像轉(zhuǎn)換為邊緣圖像,具體包括 將輸入圖像轉(zhuǎn)換為灰度圖像; 對灰度像進(jìn)行Canny變換,得到邊緣圖像。 進(jìn)一步地,將輸入圖像轉(zhuǎn)換為灰度圖像之前,還包括-對輸入圖像進(jìn)行高斯平滑處理。
本實施例所述的方法,運(yùn)用啟發(fā)式評價函數(shù)提取算法,計算在對象邊緣上輸入的兩個錨 點之間的路徑,可以精確地得到對象邊緣的路徑,提高了提取對象邊緣的精確度;并且在對 象邊緣上輸入的兩個錨點距離很遠(yuǎn)的情況下,也可以精確地得到對象邊緣的路徑,從而減少 了提取對象邊緣的工作量;進(jìn)一步地,本發(fā)明是基于邊緣圖像來提取對象邊緣的,對象區(qū)域 內(nèi)部的顏色變化對于提取對象邊緣沒有影響,在對象區(qū)域內(nèi)部顏色變化豐富時也可以得到很 精確的結(jié)果;另外,與智能剪刀算法相比,提取對象邊緣時需要的時間縮短了很多。
實施例2
本發(fā)明實施例提供了一種提取對象邊緣的方法,參見圖2,該方法包括 201:用戶在輸入圖像上輸入兩個錨點,初始錨點A和終點錨點B。
其中,輸入圖像是需要從中提取對象邊緣的圖像;在輸入圖像上輸入兩個錨點,具體是在要提取的對象邊緣上輸入兩個錨點,其中, 一個是初始錨點, 一個是終點錨點。
需要說明的是,實際應(yīng)用中用戶提取對象邊緣時,會輸入多個錨點,但是多個錨點之間
的對象邊緣,也是通過兩個錨點兩個錨點地計算得到的,所以本發(fā)明實施例以得到兩個錨點
之間的對象邊緣為例進(jìn)行詳細(xì)描述。
202:接收到用戶輸入的兩個錨點后,將輸入圖像轉(zhuǎn)換為邊緣圖像。
需要說明的是,本發(fā)明實施例中將輸入圖像轉(zhuǎn)換為邊緣圖像是通過Canny變換得到的, 將輸入圖像轉(zhuǎn)換為邊緣圖像的具體過程如下將輸入圖像轉(zhuǎn)換為灰度圖像;將輸入圖像轉(zhuǎn)換 為灰度圖像后,對灰度像進(jìn)行Canny變換,得到邊緣圖像。并且需要說明的是,將輸入 圖像轉(zhuǎn)換為灰度圖像之前,還可以先對輸入圖像進(jìn)行高斯平滑處理;其中,對輸入圖像進(jìn)行 高斯平滑處理,是為了消除噪聲影響。
進(jìn)一步,需要說明的是,實際應(yīng)用中還可以通過其它方式將輸入圖像轉(zhuǎn)換為邊緣圖像, 如對灰度像進(jìn)行Sobel變換,再對Sobel變換后的圖像進(jìn)行截斷處理,得到邊緣圖像;或 者利用其它的將輸入圖像轉(zhuǎn)換為邊緣圖像的工具。
另外,需要說明的是,基于邊緣圖像來提取對象的邊緣,對象區(qū)域內(nèi)部的顏色變化不會 影響到提取對象邊緣,使得在對象區(qū)域內(nèi)部顏色變化豐富時也可以得到很精確的結(jié)果。
203:將輸入圖像轉(zhuǎn)換為邊緣圖像后,將邊緣圖像中包含的點標(biāo)記為未到達(dá)點。
需要說明的是,本發(fā)明實施例中,將邊緣圖像中的點分為分三種狀態(tài)未到達(dá)、已到達(dá)
和不可到達(dá),分別稱為未到達(dá)點、已到達(dá)點和不可到達(dá)點;其中,未到達(dá)點是指處于初始 狀態(tài)的、沒有被處理過的點;已達(dá)到點是指可以作為初始錨點A和終點錨點B之間的邊緣路 徑的點,也就是說將多個已達(dá)到點連接起來得到的就是初始錨點A和終點錨點B之間的邊緣; 不可到達(dá)點是指經(jīng)過處理的,不可以作為初始錨點A和終點錨點B之間的邊緣路徑的點。本 發(fā)明實施例中將未到達(dá)點標(biāo)記為O、將已到達(dá)點標(biāo)記為K將不可到達(dá)點標(biāo)記為-1,實際應(yīng)用 中可以根據(jù)實際情況用不同的方法來表示這三種狀態(tài),如將未到達(dá)點標(biāo)記為黑色,己到達(dá)點 標(biāo)記為藍(lán)色,不可到達(dá)點標(biāo)記為紅色。
204:將邊緣圖像中包含的點都標(biāo)記為未到達(dá)點后,將邊緣圖像中的與初始錨點A對應(yīng) 的點標(biāo)記為己到達(dá)點,然后將初始錨點A存儲到待計算堆棧和走步堆棧中。
其中,將邊緣圖像中的與初始錨點A對應(yīng)的點標(biāo)記為已到達(dá)點,也就是說將與初始錨點 A對應(yīng)的點標(biāo)記為1;待計算堆棧是在計算過程中用來存儲需要計算的點的堆棧,并且本發(fā) 明實施例需要用到堆棧后進(jìn)先出的特性;走步堆棧用來存儲初始錨點A到終點錨點B之間的 邊緣需要經(jīng)過的點。205:從待計算堆棧中取出一個點C,判斷點C是否是終點錨點B,如果是,則執(zhí)行213;
否則,執(zhí)行206。
需要說明的是,當(dāng)?shù)谝淮螆?zhí)行該步驟時,待計算堆棧中的點只有初始錨點A,從待計算
堆桟中取出的點C就是初始錨點A;但是在后續(xù)過程中會在待計算堆棧中存儲好多點,當(dāng)待
計算堆棧中存儲好多點時,執(zhí)行到該步驟時,是從待計算堆棧中取出存儲在待計算堆棧中的 所有點中的最上面的點,也就是說取出的該點相對于待計算堆棧中的其它點來說是最后存儲
進(jìn)去的,為了便于描述將該點稱為待計算點;本實施例中點C就是待計算點。
206:統(tǒng)計點C周圍的點中未到達(dá)點的數(shù)目,判斷未到達(dá)點的數(shù)目是否大于O,如果是,
則執(zhí)行207;否則,執(zhí)行212。
其中,點C周圍的點是指點C的8個方向的點,統(tǒng)計點C周圍的點中未到達(dá)點的數(shù)目,
本發(fā)明實施例中也就是統(tǒng)計點C周圍的點中標(biāo)記為0的點的數(shù)目。
207:計算點C與點C周圍的點中每個未到達(dá)點之間的顏色梯度差。
為了便于描述,將點C周圍的點中的未到達(dá)點稱為點C的周圍未到達(dá)點。計算顏色梯度
差,例如點C周圍的點中存在一個未到達(dá)點D,點C與未到達(dá)點D之間的顏色梯度差為邊
緣圖像中點C的值與邊緣圖像中點D的值之差。
208:計算點C的每個周圍未到達(dá)點與終點錨點B之間的路徑長度。 計算點C周圍的點中每個未到達(dá)點與終點錨點B之間的路徑長度,例如點C周圍的點
中存在 一 個未到達(dá)點D ,未到達(dá)點D與終點錨點B之間的路徑長度
/ =扭-4)2+("廠5》2 ,其中A表示點D的x坐標(biāo)、A表示點B的x坐標(biāo)、A點D的
y坐標(biāo)、^點B的y坐標(biāo)。
209:根據(jù)啟發(fā)式評價函數(shù),計算點C的所有周圍未到達(dá)點的啟發(fā)式評價函數(shù)值。 其中,啟發(fā)式評價函數(shù)為F=Thres/(G+l)+H, G是已經(jīng)付出的代價函數(shù)、H是最優(yōu)路
徑的估計代價函數(shù)、Thres是對G和H的權(quán)重的一個衡量值;本實施例中G的取值為點C與
點C的周圍未到達(dá)點之間的顏色梯度差、H的取值為點C的周圍未到達(dá)點與終點錨點B之間
的路徑長度、Thres的取值為[5, 10]。
210:比較點C的所有周圍未到達(dá)點的啟發(fā)式評價函數(shù)值之間的大小。
211:將對應(yīng)最小啟發(fā)式評價函數(shù)值的周圍未到達(dá)點存儲在走步堆棧中,并標(biāo)記對應(yīng)最小
啟發(fā)式評價函數(shù)值的周圍未到達(dá)點為已到達(dá)點,并按照啟發(fā)式評價函數(shù)值從大到小的順序,
將對應(yīng)啟發(fā)式評價函數(shù)值的周圍未到達(dá)點依次存儲在待計算堆棧中,然后執(zhí)行205。
其中,按照啟發(fā)式評價函數(shù)值從大到小的順序,將對應(yīng)啟發(fā)式評價函數(shù)值的周圍未到達(dá)點依次存儲在待計算堆棧中,具體是將對應(yīng)啟發(fā)式評價函數(shù)值最大的周圍未到達(dá)點先存儲 在待計算堆棧中,然后再將對應(yīng)啟發(fā)式評價函數(shù)值第二最大的周圍未到達(dá)點存儲在待計算堆 棧中…最后將對應(yīng)啟發(fā)式評價函數(shù)值最小的周圍未到達(dá)點存儲在待計算堆棧中。
212:將點C標(biāo)記為不可到達(dá)點,并將點C從走步堆棧中刪除,然后執(zhí)行205。 213:將終點錨點B和走步堆棧中包含的點依次連接起來,實現(xiàn)將初始錨點A和終點錨 點B之間的對象邊緣提取出來。
需要說明的是存儲在走步堆棧中的點也具有后進(jìn)先出的特性,也就是說存儲的順序與
取出的順序正好相反,將終點錨點B和走步堆棧中包含的點依次連接起來具體是,從終點錨 點B開始,將走步堆棧中的點取出,依次連接起來,反推到初始錨點A。
另外,需要說明的是,輸入初始錨點A和終點錨點B后,瞬間就可以得到初始錨點A和 終點錨點B之間的對象邊緣,與智能剪刀算法相比,提取對象邊緣時需要的時間縮短了很多。
本實施例所述的方法,運(yùn)用啟發(fā)式評價函數(shù)提取算法,計算在對象邊緣上輸入的兩個錨 點之間的路徑,可以精確地得到對象邊緣的路徑,提高了提取對象邊緣的精確度;并且在對 象邊緣上輸入的兩個錨點距離很遠(yuǎn)的情況下,也可以精確地得到對象邊緣的路徑,從而減少 了提取對象邊緣的工作量;進(jìn)一步地,本發(fā)明是基于邊緣圖像來提取對象邊緣的,對象區(qū)域 內(nèi)部的顏色變化對于提取對象邊緣沒有影響,在對象區(qū)域內(nèi)部顏色變化豐富時也可以得到很 精確的結(jié)果;另外,與智能剪刀算法相比,提取對象邊緣時需要的時間縮短了很多。
實施例3
本發(fā)明實施例提供了一種提取對象邊緣的裝置,參見圖3,該裝置包括 接收模塊301,用于接收在輸入圖像的對象邊緣上輸入的初始錨點和終點錨點; 轉(zhuǎn)換模塊302,用于在接收模塊301接收到初始錨點和終點錨點后,將輸入圖像轉(zhuǎn)換為 邊緣圖像;
提取模塊303,用于在轉(zhuǎn)換模塊302將輸入圖像轉(zhuǎn)換為邊緣圖像后,根據(jù)邊緣圖像和預(yù) 先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取初始錨點和終點錨點之間的對象邊緣。 其中,提取模塊303具體包括
第一標(biāo)記單元,用于在轉(zhuǎn)換模塊302將輸入圖像轉(zhuǎn)換為邊緣圖像后,將邊緣圖像中包含 的點標(biāo)記為未到達(dá)點;
第一處理單元,用于在第一標(biāo)記單元將邊緣圖像中包含的點標(biāo)記為未到達(dá)點后,將邊緣 圖像中的與初始錨點對應(yīng)的點標(biāo)記為已到達(dá)點,并將初始錨點存儲在第一堆棧和第二堆棧中; 取出單元,用于在第一處理單元將初始錨點存儲在第一堆棧和第二堆棧中后,從第一堆棧中取出待計算點;
第一判斷單元,用于在取出單元取出待計算點后,判斷待計算點是否是終點錨點; 統(tǒng)計單元,用于當(dāng)?shù)谝慌袛鄦卧呐袛嘟Y(jié)果是待計算點不是終點錨點時,統(tǒng)計待計算點
的周圍未到達(dá)點的數(shù)目;
第二判斷單元,用于在統(tǒng)計單元統(tǒng)計到周圍未到達(dá)點的數(shù)目后,判斷周圍未到達(dá)點的數(shù)
目是否大于0;
第一獲取單元,用于當(dāng)?shù)诙袛鄦卧呐袛嘟Y(jié)果是周圍未到達(dá)點的數(shù)目大于O時,計算 所有周圍未到達(dá)點的啟發(fā)式評價函數(shù)值,得到所有周圍未到達(dá)點的啟發(fā)式評價函數(shù)值;
比較單元,用于在第一獲取單元得到啟發(fā)式評價函數(shù)值后,比較所有周圍未到達(dá)點的啟 發(fā)式評價函數(shù)值之間的大小;
第二處理單元,用于在比較單元比較了啟發(fā)式評價函數(shù)值之間的大小后,將對應(yīng)最小啟 發(fā)式評價函數(shù)值的周圍未到達(dá)點存儲在第二堆棧中,并標(biāo)記對應(yīng)最小啟發(fā)式評價函數(shù)值的周 圍未到達(dá)點為第二狀態(tài),并按照啟發(fā)式評價函數(shù)值從大到小的順序,將對應(yīng)啟發(fā)式評價函數(shù) 值的周圍未到達(dá)點依次存儲在第一堆棧中;
第一通知單元,用于在第二處理單元將周圍未到達(dá)點依次存儲在第一堆棧中后,通知取 出單元從第一堆棧中取出待計算點。
進(jìn)一步地,提取模塊303還包括
第二標(biāo)記單元,用于當(dāng)?shù)诙袛鄦卧呐袛嘟Y(jié)果是周圍未到達(dá)點的數(shù)目等于0時,將待 計算點標(biāo)記為不可達(dá)到點;
刪除單元,用于在第二標(biāo)記單元將待計算點標(biāo)記為不可達(dá)到點后,將待計算點從第二堆 棧中刪除;
第二通知單元,用于在刪除單元將待計算點從第二堆棧中刪除后,通知取出單元從第一 堆棧中取出待計算點。
進(jìn)一步地,提取模塊303還包括
提取單元,用于當(dāng)?shù)谝慌袛鄦卧呐袛嘟Y(jié)果是待計算點是終點錨點時,將終點錨點和第 二堆棧中包含的點依次連接起來,提取到初始錨點和終點錨點之間的對象邊緣。 其中,轉(zhuǎn)換模塊302具體包括
轉(zhuǎn)換單元,用于在接收模塊301接收到初始錨點和終點錨點后,將輸入圖像轉(zhuǎn)換為灰度 圖像;
第二獲取單元,用于在轉(zhuǎn)換單元將輸入圖像轉(zhuǎn)換為灰度圖像后,對灰度像進(jìn)行Canny
13變換,得到邊緣圖像。
進(jìn)一步地,轉(zhuǎn)換模塊302還包括
第三處理單元,用于在接收模塊301接收到初始錨點和終點錨點后,對輸入圖像進(jìn)行高 斯平滑處理。
本實施例所述的裝置,運(yùn)用啟發(fā)式評價函數(shù)提取算法,計算在對象邊緣上輸入的兩個錨 點之間的路徑,可以精確地得到對象邊緣的路徑,提高了提取對象邊緣的精確度;并且在對 象邊緣上輸入的兩個錨點距離很遠(yuǎn)的情況下,也可以精確地得到對象邊緣的路徑,從而減少 了提取對象邊緣的工作量;進(jìn)一步地,本發(fā)明是基于邊緣圖像來提取對象邊緣的,對象區(qū)域 內(nèi)部的顏色變化對于提取對象邊緣沒有影響,在對象區(qū)域內(nèi)部顏色變化豐富時也可以得到很 精確的結(jié)果;另外,與智能剪刀算法相比,提取對象邊緣時需要的時間縮短了很多。
以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實現(xiàn),其軟件程序存 儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如計算機(jī)中的硬盤、光盤或軟盤。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之 內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種提取對象邊緣的方法,其特征在于,所述方法包括接收在輸入圖像的對象邊緣上輸入的初始錨點和終點錨點;將所述輸入圖像轉(zhuǎn)換為邊緣圖像;根據(jù)所述邊緣圖像和預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取所述初始錨點和所述終點錨點之間的對象邊緣。
2、根據(jù)權(quán)利要求1所述的提取對象邊緣的方法,其特征在于,根據(jù)所述邊緣圖像和預(yù)先 設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取所述初始錨點和所述終點錨點之間的對象邊緣,具體 包括-將所述邊緣圖像中包含的點標(biāo)記為未到達(dá)點將所述邊緣圖像中的與所述初始錨點對應(yīng)的點標(biāo)記為已到達(dá)點,并將所述初始錨點存儲 在第一堆棧和第二堆棧中;從所述第 一堆棧中取出待計算點; 判斷所述待計算點是否是終點錨點;當(dāng)判斷結(jié)果是所述待計算點不是終點錨點時,則統(tǒng)計所述待計算點的周圍未到達(dá)點的數(shù)目;判斷所述周圍未到達(dá)點的數(shù)目是否大于0;當(dāng)判斷結(jié)果是所述周圍未到達(dá)點的數(shù)目大于0時,則計算所有所述周圍未到達(dá)點的啟發(fā) 式評價函數(shù)值,得到所有所述周圍未到達(dá)點的啟發(fā)式評價函數(shù)值; 比較所有所述周圍未到達(dá)點的啟發(fā)式評價函數(shù)值之間的大小;將對應(yīng)最小所述啟發(fā)式評價函數(shù)值的所述周圍未到達(dá)點存儲在第二堆棧中,并標(biāo)記對應(yīng) 最小所述啟發(fā)式評價函數(shù)值的所述周圍未到達(dá)點為已到達(dá)點,并按照所述啟發(fā)式評價函數(shù)值 從大到小的順序,將對應(yīng)所述啟發(fā)式評價函數(shù)值的所述周圍未到達(dá)點依次存儲在第一堆棧中執(zhí)行所述從所述第一堆棧中取出待計算點步驟。
3、根據(jù)權(quán)利要求2所述的提取對象邊緣的方法,其特征在于,所述啟發(fā)式評價函數(shù)值具 體為G + l其中,G的取值為所述待計算點與所述周圍未到達(dá)點之間的顏色梯度差、Z/的取值為所 述周圍未到達(dá)點與所述終點錨點之間的路徑長度、J77my的取值為[5, 10]。
4、 根據(jù)權(quán)利要求3所述的提取對象邊緣的方法,其特征在于,當(dāng)判斷結(jié)果是所述周圍未 到達(dá)點的數(shù)目等于0時,還包括將所述待計算點標(biāo)記為不可達(dá)到點; 將所述待計算點從所述第二堆棧中刪除; 執(zhí)行所述從所述第 一堆棧中取出待計算點步驟。
5、 根據(jù)權(quán)利要求4所述的提取對象邊緣的方法,其特征在于,當(dāng)判斷結(jié)果是所述待計算 點是終點錨點時,還包括;將所述終點錨點和所述第二堆棧中包含的點依次連接起來,提取到所述初始錨點和所述 終點錨點之間的對象邊緣。
6、 根據(jù)權(quán)利要求l-5任意一項權(quán)利要求所述的提取對象邊緣的方法,其特征在于,將所 述輸入圖像轉(zhuǎn)換為邊緣圖像,具體包括將所述輸入圖像轉(zhuǎn)換為灰度圖像;對所述灰度像進(jìn)行Canny變換,得到所述邊緣圖像。
7、 根據(jù)權(quán)利要求6所述的提取對象邊緣的方法,其特征在于,將所述輸入圖像轉(zhuǎn)換為灰 度圖像之前,還包括對所述輸入圖像進(jìn)行高斯平滑處理。
8、 一種提取對象邊緣的裝置,其特征在于,所述裝置包括接收模塊,用于接收在輸入圖像的對象邊緣上輸入的初始錨點和終點錨點; 轉(zhuǎn)換模塊,用于在所述接收模塊接收到所述初始錨點和所述終點錨點后,將所述輸入圖 像轉(zhuǎn)換為邊緣圖像;提取模塊,用于在所述轉(zhuǎn)換模塊將所述輸入圖像轉(zhuǎn)換為邊緣圖像后,根據(jù)所述邊緣圖像 和預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取所述初始錨點和所述終點錨點之間的對象邊緣。
9、 根據(jù)權(quán)利要求8所述的提取對象邊緣的裝置,其特征在于,所述提取模塊具體包括 第一標(biāo)記單元,用于在所述轉(zhuǎn)換模塊將所述輸入圖像轉(zhuǎn)換為邊緣圖像后,將所述邊緣圖像中包含的點標(biāo)記為未到達(dá)點;第一處理單元,用于在所述第一標(biāo)記單元將所述邊緣圖像中包含的點標(biāo)記為未到達(dá)點后, 將所述邊緣圖像中的與所述初始錨點對應(yīng)的點標(biāo)記為已到達(dá)點,并將所述初始錨點存儲在第 一堆棧和第二堆棧中;取出單元,用于在所述第一處理單元將所述初始錨點存儲在第一堆棧和第二堆棧中后,從所述第一堆棧中取出待計算點;第一判斷單元,用于在所述取出單元取出所述待計算點后,判斷所述待計算點是否是終點錨點;統(tǒng)計單元,用于當(dāng)所述第一判斷單元的判斷結(jié)果是所述待計算點不是終點錨點時,統(tǒng)計 所述待計算點的周圍未到達(dá)點的數(shù)目;第二判斷單元,用于在所述統(tǒng)計單元統(tǒng)計到所述周圍未到達(dá)點的數(shù)目后,判斷所述周圍 未到達(dá)點的數(shù)目是否大于0;第一獲取單元,用于當(dāng)所述第二判斷單元的判斷結(jié)果是所述周圍未到達(dá)點的數(shù)目大于0 時,計算所有所述周圍未到達(dá)點的啟發(fā)式評價函數(shù)值,得到所有所述周圍未到達(dá)點的啟發(fā)式 評價函數(shù)值;比較單元,用于在所述第一獲取單元得到所述啟發(fā)式評價函數(shù)值后,比較所有所述周圍 未到達(dá)點的啟發(fā)式評價函數(shù)值之間的大??;第二處理單元,用于在所述比較單元比較了所述啟發(fā)式評價函數(shù)值之間的大小后,將對應(yīng)最小所述啟發(fā)式評價函數(shù)值的所述周圍未到達(dá)點存儲在第二堆棧中,并標(biāo)記對應(yīng)最小所述 啟發(fā)式評價函數(shù)值的所述周圍未到達(dá)點為第二狀態(tài),并按照所述啟發(fā)式評價函數(shù)值從大到小 的順序,將對應(yīng)所述啟發(fā)式評價函數(shù)值的所述周圍未到達(dá)點依次存儲在第一堆棧中;第一通知單元,用于在所述第二處理單元將所述周圍未到達(dá)點依次存儲在第一堆棧中后,通知所述取出單元從所述第一堆棧中取出待計算點。
10、 根據(jù)權(quán)利要求9所述的提取對象邊緣的裝置,其特征在于,所述提取模塊還包括 第二標(biāo)記單元,用于當(dāng)所述第二判斷單元的判斷結(jié)果是所述周圍未到達(dá)點的數(shù)目等于0時,將所述待計算點標(biāo)記為不可達(dá)到點;刪除單元,用于在所述第二標(biāo)記單元將所述待計算點標(biāo)記為不可達(dá)到點后,將所述待計算點從所述第二堆棧中刪除;第二通知單元,用于在所述刪除單元將所述待計算點從第二堆棧中刪除后,通知所述取出單元從所述第一堆棧中取出待計算點。
11、 根據(jù)權(quán)利要求10所述的提取對象邊緣的裝置,其特征在于,所述提取模塊還包括提取單元,用于當(dāng)所述第一判斷單元的判斷結(jié)果是所述待計算點是終點錨點時,將所述終點錨點和所述第二堆棧中包含的點依次連接起來,提取到所述初始錨點和所述終點錨點之間的對象邊緣。
12、 根據(jù)權(quán)利要求8-ll任意一項權(quán)利要求所述的提取對象邊緣的方法,其特征在于,所述轉(zhuǎn)換模塊具體包括轉(zhuǎn)換單元,用于在所述接收模塊接收到所述初始錨點和所述終點錨點后,將所述輸入圖像轉(zhuǎn)換為灰度圖像;第二獲取單元,用于在所述轉(zhuǎn)換單元將所述輸入圖像轉(zhuǎn)換為灰度圖像后,對所述灰度像進(jìn)行Canny變換,得到所述邊緣圖像。
13、 根據(jù)權(quán)利要求12所述的提取對象邊緣的方法,其特征在于,所述轉(zhuǎn)換模塊還包括第三處理單元,用于在所述接收模塊接收到所述初始錨點和所述終點錨點后,對所述輸入圖像進(jìn)行高斯平滑處理。
全文摘要
本發(fā)明公開了一種提取對象邊緣的方法和裝置,屬于計算機(jī)圖像處理領(lǐng)域。所述方法包括接收在輸入圖像的對象邊緣上輸入的初始錨點和終點錨點;將所述輸入圖像轉(zhuǎn)換為邊緣圖像;根據(jù)所述邊緣圖像和預(yù)先設(shè)置的啟發(fā)式評價函數(shù)提取算法,提取所述初始錨點和所述終點錨點之間的對象邊緣。所述裝置包括接收模塊、轉(zhuǎn)換模塊和提取模塊。本發(fā)明運(yùn)用啟發(fā)式評價函數(shù)提取算法,計算在對象邊緣上輸入的兩個錨點之間的路徑,可以精確地得到對象邊緣的路徑,提高了提取對象邊緣的精確度;并且在對象邊緣上輸入的兩個錨點距離很遠(yuǎn)的情況下,也可以精確地得到對象邊緣的路徑,從而減少了提取對象邊緣的工作量。
文檔編號G06T7/00GK101477688SQ20091007611
公開日2009年7月8日 申請日期2009年1月8日 優(yōu)先權(quán)日2009年1月8日
發(fā)明者劉曉冬, 汛 曹, 謝旭東, 岳 鄧, 政 黎 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1