專利名稱:一種圖像的多邊形模型的簡(jiǎn)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像處理技術(shù),尤其是涉及一種圖像的多邊形模型的簡(jiǎn)化方法。
背景技術(shù):
多邊形模型是計(jì)算機(jī)圖形中最流行、最重要,且得到最廣泛支持的模型表示方法。 但隨著技術(shù)的快速發(fā)展,圖像的多邊形模型的復(fù)雜性常常超過(guò)了系統(tǒng)的處理能力,為此人們提出了很多簡(jiǎn)化圖像的多邊形模型的算法。圖像的多邊形模型的簡(jiǎn)化也是圖像校正的關(guān)鍵環(huán)節(jié)之一(圖像的多邊形模型的簡(jiǎn)化為圖像校正提供參考點(diǎn)),高精度的圖像是保障圖像識(shí)別和圖像匹配有效進(jìn)行的根本條件之一,因此圖像的多邊形模型的簡(jiǎn)化結(jié)果的好壞將嚴(yán)重影響到后續(xù)圖像處理的圖像識(shí)別和圖像匹配的結(jié)果。目前,已有的幾何簡(jiǎn)化算法大多應(yīng)用于三角形網(wǎng)格模型的簡(jiǎn)化,無(wú)法直接應(yīng)用于多邊形模型的簡(jiǎn)化。因此迫切需要一種新的方法對(duì)二維平面的多邊形模型進(jìn)行簡(jiǎn)化,以保證最終圖像處理的精度。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種簡(jiǎn)便快速,且能夠?yàn)閳D像校正提供準(zhǔn)確的參考點(diǎn)的多邊形模型的簡(jiǎn)化方法。本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為一種圖像的多邊形模型的簡(jiǎn)化方法,其特征在于包括以下步驟①獲取一幅待處理的二值化圖像,然后以自上而下、從左到右的水平掃描方式搜索二值化圖像中每一行的第一個(gè)黑色像素點(diǎn),將二值化圖像中每一行的第一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為左邊界像素點(diǎn)集,記為八(X,y),再以自下而上、從右到左的水平掃描方式搜索二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn),將二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為右邊界像素點(diǎn)集,記為Vk(X,y),其中, (χ,y)表示二值化圖像中的像素點(diǎn)的坐標(biāo)位置;②根據(jù)左邊界像素點(diǎn)集Vjx,y)和右邊界像素點(diǎn)集VK(x,y),構(gòu)建凸多邊形模型, 具體過(guò)程如下②-1、將左邊界像素點(diǎn)集八(x,y)中的第一個(gè)像素點(diǎn)作為凸多邊形模型的起點(diǎn),并將該起點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V(x,y)中,將該起點(diǎn)作為當(dāng)前頂點(diǎn);②-2、將當(dāng)前頂點(diǎn)與左邊界像素點(diǎn)集Vjx,y)中在當(dāng)前頂點(diǎn)之后的各個(gè)像素點(diǎn)連線,然后計(jì)算每條連線與當(dāng)前頂點(diǎn)所在的右側(cè)的水平直線之間的夾角;②-3、選取最大夾角對(duì)應(yīng)的像素點(diǎn),并將該像素點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合 V(x, y)中,再將該像素點(diǎn)作為當(dāng)前頂點(diǎn),返回步驟②-2繼續(xù)執(zhí)行,直至左邊界像素點(diǎn)集 Vl(x, y)中的所有像素點(diǎn)處理完畢;②-4、判斷當(dāng)前頂點(diǎn)與右邊界像素點(diǎn)集Vk(x,y)中的第一個(gè)像素點(diǎn)是否重合,如果是,則執(zhí)行步驟②_5,否則,將右邊界像素點(diǎn)集Vk(x,y)中的第一個(gè)像素點(diǎn)作為當(dāng)前頂點(diǎn),并將該當(dāng)前頂點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V (X,y)中,然后執(zhí)行步驟②-5 ;②-5、將當(dāng)前頂點(diǎn)與右邊界像素點(diǎn)集Vk(X,y)中在當(dāng)前頂點(diǎn)之后的各個(gè)像素點(diǎn)連線,然后計(jì)算每條連線與當(dāng)前頂點(diǎn)所在的右側(cè)的水平直線之間的夾角;②_6、選取最小夾角對(duì)應(yīng)的像素點(diǎn),并將該像素點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合 V(x, y)中,再將該像素點(diǎn)作為當(dāng)前頂點(diǎn),返回步驟②-5繼續(xù)執(zhí)行,直至右邊界像素點(diǎn)集 Ve(x, y)中的所有像素點(diǎn)處理完畢;②_7、判斷當(dāng)前頂點(diǎn)與凸多邊形模型的起點(diǎn)是否重合,如果是,則從頂點(diǎn)集合 V(x,y)中刪除當(dāng)前頂點(diǎn)的坐標(biāo)位置,然后執(zhí)行步驟②_8,否則,直接執(zhí)行步驟②-8;②_8、順序連接頂點(diǎn)集合V(x,y)中的各個(gè)頂點(diǎn)構(gòu)成凸多邊形模型,頂點(diǎn)之間的連線為凸多邊形模型的邊;③重復(fù)尋找凸多邊形模型中長(zhǎng)度最短的邊,再用該長(zhǎng)度最短的邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)的坐標(biāo)位置替換頂點(diǎn)集合V(x,y)中該長(zhǎng)度最短的邊對(duì)應(yīng)的兩個(gè)頂點(diǎn)的坐標(biāo)位置,直至頂點(diǎn)集合V(x,y)中所包含的頂點(diǎn)的個(gè)數(shù)為圖像校正所需的參考點(diǎn)的個(gè)數(shù),獲得簡(jiǎn)化后的多邊形模型,該簡(jiǎn)化后的多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn)。所述的步驟①中左邊界像素點(diǎn)集Vjx,y)和右邊界像素點(diǎn)集Vk (X,y)的獲取過(guò)程為①-1、自上而下、從左到右對(duì)二值化圖像進(jìn)行水平掃描,將二值化圖像中當(dāng)前待水平掃描的行作為當(dāng)前行;①_2、水平掃描當(dāng)前行,在當(dāng)前行中搜索到第一個(gè)黑色像素點(diǎn)時(shí),結(jié)束當(dāng)前行的水平掃描,并保存搜索到的第一個(gè)黑色像素點(diǎn)的坐標(biāo)位置;①_3、將二值化圖像中待水平掃描的下一行作為當(dāng)前行,返回步驟①-2繼續(xù)執(zhí)行,直至二值化圖像中的最后一行處理完畢,結(jié)束二值化圖像的水平掃描;①_4、將二值化圖像中每一行的第一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為左邊界像素點(diǎn)集,記為八(x,y);①_5、自下而上、從右到左對(duì)二值化圖像進(jìn)行水平掃描,將二值化圖像中當(dāng)前待水平掃描的行作為當(dāng)前行;①_6、水平掃描當(dāng)前行,在當(dāng)前行中搜索到第一個(gè)黑色像素點(diǎn)時(shí),結(jié)束當(dāng)前行的水平掃描,并保存搜索到的第一個(gè)黑色像素點(diǎn)的坐標(biāo)位置;①_7、將二值化圖像中待水平掃描的下一行作為當(dāng)前行,返回步驟①-6繼續(xù)執(zhí)行,直至二值化圖像中的第一行處理完畢,結(jié)束二值化圖像的水平掃描;①_8、將二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為右邊界像素點(diǎn)集,記為Vk (X,y)。所述的步驟③的具體過(guò)程為③-1、計(jì)算凸多邊形模型中每條邊的長(zhǎng)度,尋找長(zhǎng)度最短的邊,將該長(zhǎng)度最短的邊作為當(dāng)前邊;③_2、延長(zhǎng)當(dāng)前邊的兩條相鄰邊,使當(dāng)前邊的兩條相鄰邊的延長(zhǎng)線相交于一點(diǎn);③-3、從頂點(diǎn)集合V(x,y)中刪除當(dāng)前邊對(duì)應(yīng)的兩個(gè)頂點(diǎn)的坐標(biāo)位置,并在刪除位置處加入當(dāng)前邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)的坐標(biāo)位置,構(gòu)成新的頂點(diǎn)集合V(x,y)和新的凸多邊形模型;
③_4、判斷頂點(diǎn)集合中所包含的頂點(diǎn)的個(gè)數(shù)與圖像校正所需的參考點(diǎn)的個(gè)數(shù)是否相等,如果是,則結(jié)束邊的刪除,獲得簡(jiǎn)化后的多邊形模型,該簡(jiǎn)化后的多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn),否則,返回步驟③-1繼續(xù)執(zhí)行。所述的簡(jiǎn)化后的多邊形模型的頂點(diǎn)的個(gè)數(shù)為4。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于通過(guò)掃描已知的二值化圖像得到左邊界像素點(diǎn)集和右邊界像素點(diǎn)集,然后搜索左邊界像素點(diǎn)集和右邊界像素點(diǎn)集獲取圖像的凸多邊形模型的所有頂點(diǎn),再用凸多邊形模型中長(zhǎng)度最短的邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)替代長(zhǎng)度最短的邊的兩個(gè)頂點(diǎn),達(dá)到刪除長(zhǎng)度最短的邊的目的,經(jīng)過(guò)多次最短邊的刪除后得到頂點(diǎn)數(shù)與圖像校正所需的參考點(diǎn)數(shù)相等的多邊形模型,該多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn),這種多邊形模型的簡(jiǎn)化方法不僅簡(jiǎn)便快速,而且能夠準(zhǔn)確地獲取圖像校正所需的參考點(diǎn)。此外,本發(fā)明的簡(jiǎn)化方法可以應(yīng)用于圖像識(shí)別、圖像匹配和圖像跟蹤等方面的準(zhǔn)備工作中,以剔除環(huán)境偏移、照片偏差等因素帶來(lái)的誤差影響,為工程后續(xù)分析提供了有力的保障。
圖1為本發(fā)明的簡(jiǎn)化方法的流程圖;圖2為一幅待處理的二值化圖像,該二值化圖像中“ X ”表示黑色像素點(diǎn);圖3為從圖2所示的二值化圖像中獲取的構(gòu)成左邊界像素點(diǎn)集八(x,y)的像素點(diǎn)和構(gòu)成右邊界像素點(diǎn)集%&,》的像素點(diǎn)的示意圖;圖4為搜索凸多邊形模型的頂點(diǎn)的過(guò)程示意圖;圖5為從圖3中搜索凸多邊形模型的頂點(diǎn)的過(guò)程示意圖;圖6為從圖3中搜索凸多邊形模型的頂點(diǎn)的結(jié)果示意圖;圖7為圖6所示的各個(gè)頂點(diǎn)構(gòu)成的凸多邊形模型的示意圖;圖8為從圖7所示的凸多邊形模型中刪除長(zhǎng)度最短的邊的過(guò)程示意圖;圖9為簡(jiǎn)化后的四邊形的示意圖。
具體實(shí)施例方式以下結(jié)合附圖實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。本發(fā)明提出的一種圖像的多邊形模型的簡(jiǎn)化方法,其流程圖如圖1所示,其包括以下步驟①獲取一幅待處理的二值化圖像,如圖2所示,該二值化圖像中“ X,,表示黑色像素點(diǎn),然后以自上而下、從左到右的水平掃描方式搜索二值化圖像中每一行的第一個(gè)黑色像素點(diǎn),將二值化圖像中每一行的第一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為左邊界像素點(diǎn)集,記為八(X,y),再以自下而上、從右到左的水平掃描方式搜索二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn),將二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為右邊界像素點(diǎn)集,記為VK(x,y),其中,(x,y)表示二值化圖像中的像素點(diǎn)的坐標(biāo)位置。在二值化圖像中,像素值為1的像素點(diǎn)是黑色像素點(diǎn),像素值為0的像素點(diǎn)是白色像素點(diǎn)。在此具體實(shí)施例中,左邊界像素點(diǎn)y)和右邊界像素點(diǎn)集VK(x,y)的獲取過(guò)程為①-1、自上而下、從左到右對(duì)二值化圖像進(jìn)行水平掃描,將二值化圖像中當(dāng)前待水平掃描的行作為當(dāng)前行。①_2、水平掃描當(dāng)前行,在當(dāng)前行中搜索到第一個(gè)黑色像素點(diǎn)時(shí),結(jié)束當(dāng)前行的水平掃描,并保存搜索到的第一個(gè)黑色像素點(diǎn)的坐標(biāo)位置。①_3、將二值化圖像中待水平掃描的下一行作為當(dāng)前行,返回步驟①-2繼續(xù)執(zhí)行,直至二值化圖像中的最后一行處理完畢,結(jié)束二值化圖像的水平掃描。①_4、將二值化圖像中每一行的第一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為左邊界像素點(diǎn)集,記為八(x,y)。①-5、自下而上、從右到左對(duì)二值化圖像進(jìn)行水平掃描,將二值化圖像中當(dāng)前待水平掃描的行作為當(dāng)前行。①_6、水平掃描當(dāng)前行,在當(dāng)前行中搜索到第一個(gè)黑色像素點(diǎn)時(shí),結(jié)束當(dāng)前行的水平掃描,并保存搜索到的第一個(gè)黑色像素點(diǎn)的坐標(biāo)位置。①_7、將二值化圖像中待水平掃描的下一行作為當(dāng)前行,返回步驟①-6繼續(xù)執(zhí)行,直至二值化圖像中的第一行處理完畢,結(jié)束二值化圖像的水平掃描。①_8、將二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為右邊界像素點(diǎn)集,記為Vk (X,y)。圖3給出了從圖2所示的二值化圖像中獲取的構(gòu)成左邊界像素點(diǎn)集八(x,y)的像素點(diǎn)和構(gòu)成右邊界像素點(diǎn)集Vk (x,y)的像素點(diǎn),圖3中“ (g),,表示構(gòu)成左邊界像素點(diǎn)集八(X, y)的像素點(diǎn),“因”表示構(gòu)成右邊界像素點(diǎn)集Vk(X,y)的像素點(diǎn),“〇”表示既屬于左邊界像素點(diǎn)集八(x,y)又屬于右邊界像素點(diǎn)集%&,》的像素點(diǎn),虛線表示水平掃描線。②根據(jù)左邊界像素點(diǎn)集Vjx,y)和右邊界像素點(diǎn)集VK(x,y),構(gòu)建凸多邊形模型, 具體過(guò)程如下②-1、將左邊界像素點(diǎn)集八(x,y)中的第一個(gè)像素點(diǎn)作為凸多邊形模型的起點(diǎn),并將該起點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V(x,y)中,將該起點(diǎn)作為當(dāng)前頂點(diǎn)。②-2、將當(dāng)前頂點(diǎn)與左邊界像素點(diǎn)集Vjx,y)中在當(dāng)前頂點(diǎn)之后的各個(gè)像素點(diǎn)連線,然后計(jì)算每條連線與當(dāng)前頂點(diǎn)所在的右側(cè)的水平直線之間的夾角。②_3、選取最大夾角對(duì)應(yīng)的像素點(diǎn),并將該像素點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合 V(x, y)中,再將該像素點(diǎn)作為當(dāng)前頂點(diǎn),返回步驟②-2繼續(xù)執(zhí)行,直至左邊界像素點(diǎn)集 Vl(x, y)中的所有像素點(diǎn)處理完畢。②-4、判斷當(dāng)前頂點(diǎn)與右邊界像素點(diǎn)集Vk(x,y)中的第一個(gè)像素點(diǎn)是否重合,如果是,則執(zhí)行步驟②_5,否則,將右邊界像素點(diǎn)集Vk(x,y)中的第一個(gè)像素點(diǎn)作為當(dāng)前頂點(diǎn),并將該當(dāng)前頂點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V(x,y)中,然后執(zhí)行步驟②_5。②-5、將當(dāng)前頂點(diǎn)與右邊界像素點(diǎn)集Vk(X,y)中在當(dāng)前頂點(diǎn)之后的各個(gè)像素點(diǎn)連線,然后計(jì)算每條連線與當(dāng)前頂點(diǎn)所在的右側(cè)的水平直線之間的夾角。②_6、選取最小夾角對(duì)應(yīng)的像素點(diǎn),并將該像素點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合 V(x, y)中,再將該像素點(diǎn)作為當(dāng)前頂點(diǎn),返回步驟②-5繼續(xù)執(zhí)行,直至右邊界像素點(diǎn)集 Ve(x, y)中的所有像素點(diǎn)處理完畢。②_7、判斷當(dāng)前頂點(diǎn)與凸多邊形模型的起點(diǎn)是否重合,如果是,則從頂點(diǎn)集合V(x,y)中刪除當(dāng)前頂點(diǎn)的坐標(biāo)位置,然后執(zhí)行步驟②_8,否則,直接執(zhí)行步驟②-8。②_8、順序連接頂點(diǎn)集合V (x,y)中的各個(gè)頂點(diǎn)構(gòu)成凸多邊形模型,頂點(diǎn)之間的連線為凸多邊形模型的邊。圖4給出了搜索凸多邊形模型的頂點(diǎn)的過(guò)程,如圖4所示,將左邊界的第一個(gè)像素點(diǎn)Vu作為凸多邊形模型的起點(diǎn)(當(dāng)前頂點(diǎn)),將當(dāng)前頂點(diǎn)(Vu)與左邊界所有像素點(diǎn)中在其之后的各個(gè)像素點(diǎn)連線,計(jì)算每條連線與當(dāng)前頂點(diǎn)(Vu)所在的右側(cè)的水平直線之間的夾角,然后選取最大夾角θu對(duì)應(yīng)的像素點(diǎn)、作為當(dāng)前頂點(diǎn)(U,再重復(fù)上述過(guò)程,即將當(dāng)前頂點(diǎn)^2)與左邊界所有像素點(diǎn)中在其之后的各個(gè)像素點(diǎn)連線,計(jì)算每條連線與當(dāng)前頂點(diǎn)(\2)所在的右側(cè)的水平直線之間的夾角,然后選取最大夾角θU對(duì)應(yīng)的像素點(diǎn)Vu作為當(dāng)前頂點(diǎn)(Vu),依次類推,獲得頂點(diǎn)Vm和Vw ;由于當(dāng)前頂點(diǎn)(Vw)與右邊界的第一個(gè)像素點(diǎn)重合,因此將當(dāng)前頂點(diǎn)(U與右邊界所有像素點(diǎn)中在當(dāng)前頂點(diǎn)(VJ之后的各個(gè)像素點(diǎn)連線,計(jì)算每條連線與當(dāng)前頂點(diǎn)(U所在的右側(cè)的水平直線之間的夾角,然后選取最小夾角θ K1對(duì)應(yīng)的像素點(diǎn)Vk2作為當(dāng)前頂點(diǎn)(Vk2),再重復(fù)上述過(guò)程,即將當(dāng)前頂點(diǎn)(Vk2)與右邊界所有像素點(diǎn)中在其之后的各個(gè)像素點(diǎn)連線,計(jì)算每條連線與當(dāng)前頂點(diǎn)(Vk2)所在的右側(cè)的水平直線之間的夾角,然后選取最小夾角θ K2對(duì)應(yīng)的像素點(diǎn)Vk3作為當(dāng)前頂點(diǎn)(VK3),依次類推,獲得其他頂點(diǎn)。圖5給出了從圖3中搜索凸多邊形模型的頂點(diǎn)的過(guò)程,圖6給出了從圖3中搜索凸多邊形模型的頂點(diǎn)的結(jié)果,圖7給出了圖6所示的各個(gè)頂點(diǎn)構(gòu)成的凸多邊形模型。③重復(fù)尋找凸多邊形模型中長(zhǎng)度最短的邊,再用該長(zhǎng)度最短的邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)的坐標(biāo)位置替換頂點(diǎn)集合V(x,y)中該長(zhǎng)度最短的邊對(duì)應(yīng)的兩個(gè)頂點(diǎn)的坐標(biāo)位置,直至頂點(diǎn)集合V(x,y)中所包含的頂點(diǎn)的個(gè)數(shù)為圖像校正所需的參考點(diǎn)的個(gè)數(shù),獲得簡(jiǎn)化后的多邊形模型,該簡(jiǎn)化后的多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn)。在此具體實(shí)施例中,步驟③的具體過(guò)程為③-1、計(jì)算凸多邊形模型中每條邊的長(zhǎng)度,尋找長(zhǎng)度最短的邊,將該長(zhǎng)度最短的邊作為當(dāng)前邊。③_2、延長(zhǎng)當(dāng)前邊的兩條相鄰邊,使當(dāng)前邊的兩條相鄰邊的延長(zhǎng)線相交于一點(diǎn)。③-3、從頂點(diǎn)集合V(x,y)中刪除當(dāng)前邊對(duì)應(yīng)的兩個(gè)頂點(diǎn)的坐標(biāo)位置,并在刪除位置處加入當(dāng)前邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)的坐標(biāo)位置,構(gòu)成新的頂點(diǎn)集合V(x,y)和新的凸多邊形模型。③_4、判斷頂點(diǎn)集合中所包含的頂點(diǎn)的個(gè)數(shù)與圖像校正所需的參考點(diǎn)的個(gè)數(shù)是否相等,如果是,則結(jié)束邊的刪除,獲得簡(jiǎn)化后的多邊形模型,該簡(jiǎn)化后的多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn),否則,返回步驟③-1繼續(xù)執(zhí)行。圖8給出了從圖7所示的凸多邊形模型中刪除長(zhǎng)度最短的邊的過(guò)程,如圖8所示, 假設(shè)圖7所示的凸多邊形模型中長(zhǎng)度最短的邊為Eml,延長(zhǎng)Eml的兩條相鄰邊即Emu和EmK1, 使Emu和EmK1的延長(zhǎng)線相交于一點(diǎn)I ml,從頂點(diǎn)集合V (X,y)中刪除Eml對(duì)應(yīng)的兩個(gè)頂點(diǎn)即Vmu 和VmK1的坐標(biāo)位置,并在刪除位置處加入Emu和EmK1的延長(zhǎng)線的交點(diǎn)Rml的坐標(biāo)位置,構(gòu)成新的頂點(diǎn)集合V(x,y)和新的凸多邊形模型,再重復(fù)上述過(guò)程,從新的凸多邊形模型中刪除長(zhǎng)度最短的邊Em2,依次類推,直到頂點(diǎn)集合中所包含的頂點(diǎn)的個(gè)數(shù)為圖像校正所需的參考點(diǎn)的個(gè)數(shù)時(shí),結(jié)束邊的刪除,獲得簡(jiǎn)化后的多邊形模型,該簡(jiǎn)化后的多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn)。圖9給出了簡(jiǎn)化后的四邊形的示意圖,圖9所示的四邊形的四個(gè)頂點(diǎn)為圖像校正的參考點(diǎn)。
權(quán)利要求
1.一種圖像的多邊形模型的簡(jiǎn)化方法,其特征在于包括以下步驟①獲取一幅待處理的二值化圖像,然后以自上而下、從左到右的水平掃描方式搜索二值化圖像中每一行的第一個(gè)黑色像素點(diǎn),將二值化圖像中每一行的第一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為左邊界像素點(diǎn)集,記為\(x,y),再以自下而上、從右到左的水平掃描方式搜索二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn),將二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為右邊界像素點(diǎn)集,記為Vk(X,y),其中,(X,y) 表示二值化圖像中的像素點(diǎn)的坐標(biāo)位置;②根據(jù)左邊界像素點(diǎn)集\(x,y)和右邊界像素點(diǎn)集Vk(χ,y),構(gòu)建凸多邊形模型,具體過(guò)程如下②-1、將左邊界像素點(diǎn)集八(x,y)中的第一個(gè)像素點(diǎn)作為凸多邊形模型的起點(diǎn),并將該起點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V(x,y)中,將該起點(diǎn)作為當(dāng)前頂點(diǎn);②-2、將當(dāng)前頂點(diǎn)與左邊界像素點(diǎn)集Vjx,y)中在當(dāng)前頂點(diǎn)之后的各個(gè)像素點(diǎn)連線,然后計(jì)算每條連線與當(dāng)前頂點(diǎn)所在的右側(cè)的水平直線之間的夾角;②_3、選取最大夾角對(duì)應(yīng)的像素點(diǎn),并將該像素點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V(x,y) 中,再將該像素點(diǎn)作為當(dāng)前頂點(diǎn),返回步驟②-2繼續(xù)執(zhí)行,直至左邊界像素點(diǎn)集\(X,y)中的所有像素點(diǎn)處理完畢;②-4、判斷當(dāng)前頂點(diǎn)與右邊界像素點(diǎn)集Vk (X,y)中的第一個(gè)像素點(diǎn)是否重合,如果是, 則執(zhí)行步驟②_5,否則,將右邊界像素點(diǎn)集VK(x,y)中的第一個(gè)像素點(diǎn)作為當(dāng)前頂點(diǎn),并將該當(dāng)前頂點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V(x,y)中,然后執(zhí)行步驟②-5;②_5、將當(dāng)前頂點(diǎn)與右邊界像素點(diǎn)集%0^,7)中在當(dāng)前頂點(diǎn)之后的各個(gè)像素點(diǎn)連線,然后計(jì)算每條連線與當(dāng)前頂點(diǎn)所在的右側(cè)的水平直線之間的夾角;②_6、選取最小夾角對(duì)應(yīng)的像素點(diǎn),并將該像素點(diǎn)的坐標(biāo)位置保存到頂點(diǎn)集合V(x,y) 中,再將該像素點(diǎn)作為當(dāng)前頂點(diǎn),返回步驟②-5繼續(xù)執(zhí)行,直至右邊界像素點(diǎn)集VK(x,y)中的所有像素點(diǎn)處理完畢;②-7、判斷當(dāng)前頂點(diǎn)與凸多邊形模型的起點(diǎn)是否重合,如果是,則從頂點(diǎn)集合V(x,y) 中刪除當(dāng)前頂點(diǎn)的坐標(biāo)位置,然后執(zhí)行步驟②_8,否則,直接執(zhí)行步驟②-8 ;②-8、順序連接頂點(diǎn)集合V(x,y)中的各個(gè)頂點(diǎn)構(gòu)成凸多邊形模型,頂點(diǎn)之間的連線為凸多邊形模型的邊;③重復(fù)尋找凸多邊形模型中長(zhǎng)度最短的邊,再用該長(zhǎng)度最短的邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)的坐標(biāo)位置替換頂點(diǎn)集合V(x,y)中該長(zhǎng)度最短的邊對(duì)應(yīng)的兩個(gè)頂點(diǎn)的坐標(biāo)位置,直至頂點(diǎn)集合V(x,y)中所包含的頂點(diǎn)的個(gè)數(shù)為圖像校正所需的參考點(diǎn)的個(gè)數(shù),獲得簡(jiǎn)化后的多邊形模型,該簡(jiǎn)化后的多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn)。
2.根據(jù)權(quán)利要求1所述的一種圖像的多邊形模型的簡(jiǎn)化方法,其特征在于所述的步驟 ①中左邊界像素點(diǎn)集Vjx,y)和右邊界像素點(diǎn)集Vk (x,y)的獲取過(guò)程為①-1、自上而下、從左到右對(duì)二值化圖像進(jìn)行水平掃描,將二值化圖像中當(dāng)前待水平掃描的行作為當(dāng)前行;①-2、水平掃描當(dāng)前行,在當(dāng)前行中搜索到第一個(gè)黑色像素點(diǎn)時(shí),結(jié)束當(dāng)前行的水平掃描,并保存搜索到的第一個(gè)黑色像素點(diǎn)的坐標(biāo)位置;①-3、將二值化圖像中待水平掃描的下一行作為當(dāng)前行,返回步驟①-2繼續(xù)執(zhí)行,直至二值化圖像中的最后一行處理完畢,結(jié)束二值化圖像的水平掃描;①-4、將二值化圖像中每一行的第一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為左邊界像素點(diǎn)集,記為八(x,y);①-5、自下而上、從右到左對(duì)二值化圖像進(jìn)行水平掃描,將二值化圖像中當(dāng)前待水平掃描的行作為當(dāng)前行;①-6、水平掃描當(dāng)前行,在當(dāng)前行中搜索到第一個(gè)黑色像素點(diǎn)時(shí),結(jié)束當(dāng)前行的水平掃描,并保存搜索到的第一個(gè)黑色像素點(diǎn)的坐標(biāo)位置;①-7、將二值化圖像中待水平掃描的下一行作為當(dāng)前行,返回步驟①-6繼續(xù)執(zhí)行,直至二值化圖像中的第一行處理完畢,結(jié)束二值化圖像的水平掃描;①-8、將二值化圖像中每一行的最后一個(gè)黑色像素點(diǎn)按掃描順序構(gòu)成的集合定義為右邊界像素點(diǎn)集,記為Vk (x,y)。
3.根據(jù)權(quán)利要求1或2所述的一種圖像的多邊形模型的簡(jiǎn)化方法,其特征在于所述的步驟③的具體過(guò)程為③-1、計(jì)算凸多邊形模型中每條邊的長(zhǎng)度,尋找長(zhǎng)度最短的邊,將該長(zhǎng)度最短的邊作為當(dāng)前邊;③_2、延長(zhǎng)當(dāng)前邊的兩條相鄰邊,使當(dāng)前邊的兩條相鄰邊的延長(zhǎng)線相交于一點(diǎn);③_3、從頂點(diǎn)集合V(x,y)中刪除當(dāng)前邊對(duì)應(yīng)的兩個(gè)頂點(diǎn)的坐標(biāo)位置,并在刪除位置處加入當(dāng)前邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)的坐標(biāo)位置,構(gòu)成新的頂點(diǎn)集合V(x,y)和新的凸多邊形模型;③-4、判斷頂點(diǎn)集合中所包含的頂點(diǎn)的個(gè)數(shù)與圖像校正所需的參考點(diǎn)的個(gè)數(shù)是否相等,如果是,則結(jié)束邊的刪除,獲得簡(jiǎn)化后的多邊形模型,該簡(jiǎn)化后的多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn),否則,返回步驟③-1繼續(xù)執(zhí)行。
4.根據(jù)權(quán)利要求3所述的一種圖像的多邊形模型的簡(jiǎn)化方法,其特征在于所述的簡(jiǎn)化后的多邊形模型的頂點(diǎn)的個(gè)數(shù)為4。
全文摘要
本發(fā)明公開(kāi)了一種圖像的多邊形模型的簡(jiǎn)化方法,通過(guò)掃描已知的二值化圖像得到左邊界像素點(diǎn)集和右邊界像素點(diǎn)集,然后搜索左邊界像素點(diǎn)集和右邊界像素點(diǎn)集獲取圖像的凸多邊形模型的所有頂點(diǎn),再用凸多邊形模型中長(zhǎng)度最短的邊的兩條相鄰邊的延長(zhǎng)線的交點(diǎn)替代長(zhǎng)度最短的邊的兩個(gè)頂點(diǎn),達(dá)到刪除長(zhǎng)度最短的邊的目的,經(jīng)過(guò)多次最短邊的刪除后得到頂點(diǎn)數(shù)與圖像校正所需的參考點(diǎn)數(shù)相等的多邊形模型,該多邊形模型的頂點(diǎn)為圖像校正的參考點(diǎn),這種多邊形模型的簡(jiǎn)化方法不僅簡(jiǎn)便快速,而且能夠準(zhǔn)確地獲取圖像校正所需的參考點(diǎn)。
文檔編號(hào)G06T5/00GK102346913SQ20111027966
公開(kāi)日2012年2月8日 申請(qǐng)日期2011年9月20日 優(yōu)先權(quán)日2011年9月20日
發(fā)明者葉慶衛(wèi), 周宇, 王丹丹, 王曉東 申請(qǐng)人:寧波大學(xué)