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

路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法

文檔序號(hào):2567446閱讀:526來(lái)源:國(guó)知局

專(zhuān)利名稱(chēng)::路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法
技術(shù)領(lǐng)域
:本發(fā)明涉及的是一種圖像處理
技術(shù)領(lǐng)域
的方法,具體是一種路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法。
背景技術(shù)
:路網(wǎng)柵格數(shù)字地圖的矢量化指將路網(wǎng)柵格數(shù)字地圖轉(zhuǎn)換為路網(wǎng)矢量數(shù)字地圖。柵格數(shù)字地圖是一種反映地圖要素地理特征和拓?fù)浣Y(jié)構(gòu)的位圖(又稱(chēng)點(diǎn)陣圖)。柵格數(shù)字地圖具有生成方便、內(nèi)容細(xì)致、容易被客戶(hù)接受等優(yōu)點(diǎn),但也存在著數(shù)據(jù)量大、難以進(jìn)行分析和決策(包括路徑優(yōu)化、軌跡校正等內(nèi)容)等缺點(diǎn),因此難以直接應(yīng)用于智能交通、車(chē)輛導(dǎo)航等領(lǐng)域。矢量數(shù)字地圖是對(duì)一種或多種地圖要素矢量化形成的一種矢量化數(shù)據(jù)文件,其具有數(shù)據(jù)量小、便于分析和決策等諸多優(yōu)點(diǎn),是智能交通系統(tǒng)和車(chē)輛導(dǎo)航系統(tǒng)中常用的數(shù)字地圖格式。按照數(shù)據(jù)的目標(biāo)形式,矢量數(shù)字地圖數(shù)據(jù)通??煞譃辄c(diǎn)、線(xiàn)、面三種。每一種目標(biāo)形式數(shù)據(jù)均代表了一類(lèi)地圖要素信息,三種目標(biāo)形式數(shù)據(jù)疊加顯示便得到了一幅矢量數(shù)字地圖。由于路網(wǎng)地圖中的地圖要素為道路,可僅由"線(xiàn)"構(gòu)成,因此路網(wǎng)矢量數(shù)字地圖只涉及"線(xiàn)"數(shù)據(jù)。經(jīng)過(guò)對(duì)現(xiàn)有技術(shù)的檢索發(fā)現(xiàn)常用柵格數(shù)字地圖矢量化方法主要分為手扶跟蹤矢量化方法和掃描矢量化方法(覃其進(jìn).淺談數(shù)字化技術(shù)在地籍測(cè)繪中的應(yīng)用.廣西地質(zhì),2001,14(111):59-62)。所謂手扶跟蹤矢量化,是指依據(jù)屏幕上的柵格圖像,通過(guò)手動(dòng)跟蹤來(lái)創(chuàng)建矢量對(duì)象。該方法主要缺點(diǎn)為1)需要購(gòu)置專(zhuān)業(yè)儀器和軟件,成本較高;2)作業(yè)員須長(zhǎng)時(shí)間站立操作,勞動(dòng)強(qiáng)度較大;3)需通過(guò)游標(biāo)的十字絲和單靠人的眼睛來(lái)判斷采點(diǎn),采集難以保證較高精度;4)該方法屬于純粹的手工作業(yè),缺乏自動(dòng)化手段。掃描矢量化是近幾年興起的地圖矢量化方法。其做法是利用專(zhuān)業(yè)掃描矢量化軟件,在影像圖上以自動(dòng)或半自動(dòng)的方式進(jìn)行跟蹤矢量化,從而實(shí)現(xiàn)柵格數(shù)字地圖的矢量化。該方法比起手扶跟蹤矢量化方法有著較大的進(jìn)步,但是還存在著以下不足1)需購(gòu)置專(zhuān)業(yè)掃描矢量化軟件,成本較高;2)不能根據(jù)具體地物(如本文中的路網(wǎng))的特點(diǎn)實(shí)施高精度矢量化;3)需要在作業(yè)員的操作和監(jiān)督下完成,沒(méi)有達(dá)到完全意義上的自動(dòng)化。
發(fā)明內(nèi)容本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的上述不足,提供一種路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,相比現(xiàn)有技術(shù)能夠更加精確、快速將路網(wǎng)數(shù)字地圖矢量化,可應(yīng)用于測(cè)繪地圖數(shù)字化等相關(guān)領(lǐng)域中。本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,首先將路網(wǎng)柵格數(shù)字地圖讀入計(jì)算機(jī)內(nèi)存,并檢測(cè)路網(wǎng)圖像上的道路路口,即包括交叉道路路口和道路終端,同時(shí)標(biāo)記構(gòu)成道路路口的像素;然后,以每個(gè)道路路口為中心檢測(cè)其相鄰的道路路口,同時(shí)生成該道路路口到各個(gè)相鄰道路路口的像素鏈,緊接著在各像素鏈上等間隔添加節(jié)點(diǎn),即為記錄道路形狀的圖形點(diǎn);最后,刪除上一步添加的冗余節(jié)點(diǎn),并按照標(biāo)準(zhǔn)矢量地圖格式保存矢量化結(jié)果。標(biāo)準(zhǔn)化的路網(wǎng)矢量數(shù)字地圖可廣泛應(yīng)用于智能交通和車(chē)輛導(dǎo)航等領(lǐng)域,具有廣泛的應(yīng)用前景。本發(fā)明具體包括以下步驟第一步,檢測(cè)路網(wǎng)圖像上的道路路口先將路網(wǎng)柵格數(shù)字地圖讀入計(jì)算機(jī)內(nèi)存,然后通過(guò)劃分模板對(duì)路網(wǎng)柵格數(shù)字地圖進(jìn)行模板運(yùn)算將每個(gè)道路路口設(shè)置為節(jié)點(diǎn)像素,制成道路路口數(shù)字地圖。所述的模板運(yùn)算是指對(duì)于路網(wǎng)柵格數(shù)字地圖上任意一個(gè)單元像素;7(/J),以該單元像素為中心設(shè)置劃分模板,從路網(wǎng)柵格數(shù)字地圖上讀取劃分模板。所述的讀取劃分模板為正方形,其邊長(zhǎng)為210個(gè)像素。所述的單元像素的像素值為1。所述的節(jié)點(diǎn)像素的像素置為3。所述的讀取劃分模板是指(1)將劃分模板中的一個(gè)單元像素的像素值置零,并將該單元像素對(duì)應(yīng)分模板內(nèi)的坐標(biāo)存入劃分隊(duì)列并作為隊(duì)尾元素,然后依次取出劃分隊(duì)列的隊(duì)首元素的坐標(biāo),并搜索該坐標(biāo)對(duì)應(yīng)的像素周?chē)?個(gè)方向上相鄰的像素中的單元像素,并將搜索到的單元像素的像素值置零后將其坐標(biāo)存入劃分隊(duì)列中作為更新后的隊(duì)尾元素,以此循環(huán)直至整個(gè)劃分模板中的單元像素的坐標(biāo)值均被存入劃分隊(duì)列中。(2)將劃分模板內(nèi)的所有像素的像素值置零,再將劃分隊(duì)列中所有元素對(duì)應(yīng)坐標(biāo)的像素值置l,劃分隊(duì)列中的坐標(biāo)即為單像素寬邊緣,然后清空該劃分模板。(3)依次搜索單像素寬邊緣上的每一個(gè)坐標(biāo)的8個(gè)方向上相鄰的像素中的單位像素,并記錄搜索成功的次數(shù)進(jìn)行道路路口判斷,具體如下a)當(dāng)搜索成功次數(shù)為0,表示當(dāng)前單像素寬邊緣上的坐標(biāo)是噪聲,將該坐標(biāo)對(duì)應(yīng)的像素值置零;b)當(dāng)搜索成功次數(shù)為2,表示當(dāng)前單像素寬邊緣上的坐標(biāo)不在道路路口上,返回步驟(1)進(jìn)行下一個(gè)單像素寬邊緣的判斷;C)當(dāng)搜索成功次數(shù)為1或大于2,表示當(dāng)前單像素寬邊緣上的坐標(biāo)在道路路口上,將該坐標(biāo)對(duì)應(yīng)的像素值置3,即將該單元像素修改為節(jié)點(diǎn)像素。(4)重復(fù)步驟(1)至步驟(3)直至路網(wǎng)柵格數(shù)字地圖上的每一個(gè)單元像素都進(jìn)行過(guò)道路路口判斷,則對(duì)應(yīng)路網(wǎng)柵格數(shù)字地圖上的全部道路路口均被遍歷且對(duì)應(yīng)的像素值均被置為3,制成道路路口數(shù)字地圖。第二步,在道路路口數(shù)字地圖上添加路口節(jié)點(diǎn)以道路路口數(shù)字地圖上每個(gè)道路路口為中心添加路口節(jié)點(diǎn),并且記錄添加路口節(jié)點(diǎn)過(guò)程中所生成的放射狀路體數(shù)據(jù)結(jié)構(gòu),全部的放射狀路體數(shù)據(jù)結(jié)構(gòu)便構(gòu)成矢量路網(wǎng)地圖。所述的路口節(jié)點(diǎn)是指存儲(chǔ)路網(wǎng)拓?fù)浣Y(jié)構(gòu)信息和幾何形狀信息的坐標(biāo)點(diǎn)。所述的放射狀路體數(shù)據(jù)結(jié)構(gòu)是指以某一道路路口為中心,沿著交于該道路路口的道路延伸直至遇到其他道路路口結(jié)束,在該過(guò)程中所涉及的道路體構(gòu)成一個(gè)放射狀路體數(shù)據(jù)結(jié)構(gòu),其中中心道路路口為主道路路口,外圍道路路口為從道路路口。所述的以道路路口數(shù)字地圖上每個(gè)道路路口為中心添加路口節(jié)點(diǎn)是指(1)對(duì)于道路路口數(shù)字地圖上的任意節(jié)點(diǎn)像素p(/J),檢查其構(gòu)成的道路路口是否已作為主道路路口運(yùn)算過(guò)。如沒(méi)有,備份柵格地圖,將備份地圖上的p(i,刀置零,同時(shí)將其坐標(biāo)放入劃分隊(duì)列的隊(duì)尾,以劃分隊(duì)列非空為條件循環(huán)取出劃分隊(duì)列的隊(duì)首元素,將其存入道路路口堆棧,同時(shí)取出該隊(duì)首元素對(duì)應(yīng)的像素的8個(gè)方向上相鄰的像素中的節(jié)點(diǎn)像素,搜索到后置零,并將被置零像素的坐標(biāo)放入劃分隊(duì)列的隊(duì)尾。循環(huán)結(jié)束時(shí),道路路口堆棧中存儲(chǔ)的坐標(biāo)所對(duì)應(yīng)的像素即構(gòu)成主道路路口,計(jì)算道路路口堆棧中存儲(chǔ)坐標(biāo)的中心坐標(biāo),記為(&,凡)。(2)將主道路路口周?chē)墓?jié)點(diǎn)像素置零,并將它們的坐標(biāo)放入劃分隊(duì)列的隊(duì)尾,以劃分隊(duì)列非空為條件循環(huán)取出劃分隊(duì)列的隊(duì)首元素,按其所在路段存入堆棧Chain[i](i-0,l,…)中,搜索取出像素8個(gè)方向上相鄰的像素中的單位像素和節(jié)點(diǎn)像素,若搜到的為單位像素,則將其置零,并將其坐標(biāo)放入劃分隊(duì)列的隊(duì)尾;若為節(jié)點(diǎn)像素,將其置零,并將其坐標(biāo)放入次劃分隊(duì)列(區(qū)別于劃分隊(duì)列)的隊(duì)尾,然后以次劃分隊(duì)列非空為條件循環(huán)取出次劃分隊(duì)列的隊(duì)首元素,存入道路路口堆棧(進(jìn)入循環(huán)前清空)中,搜索取出元素8個(gè)方向上相鄰的像素中的節(jié)點(diǎn)像素,搜到后置零,并將被置零像素的坐標(biāo)放入次劃分隊(duì)列的隊(duì)尾。循環(huán)結(jié)束時(shí),道路路口堆棧中存儲(chǔ)的坐標(biāo)所對(duì)應(yīng)的像素即構(gòu)成一個(gè)從道路路口,計(jì)算其中心坐標(biāo),記為(《,乂)(i=0,1,…)。至此,一共得到了一個(gè)主道路路口的中心坐標(biāo)(x^^),若干個(gè)從道路路口的中心坐標(biāo)(x;,乂)(i=o,i,"'),以及主道路路口與各從道路路口之間連接路徑的像素鏈Chain[i](i=0,1,…)。(3)在各像素鏈上,首先找到中間位置的像素,并記錄其坐標(biāo)(如果中間位置有兩個(gè)像素,則記錄它們的中點(diǎn)坐標(biāo));然后,自中間位置的像素到像素鏈的兩端,按等間隔設(shè)置像素為節(jié)點(diǎn),并記錄它們的坐標(biāo)。最終,將上述坐標(biāo)整理并記錄成如下矩陣格式的放射狀路體數(shù)據(jù)結(jié)構(gòu)<table>tableseeoriginaldocumentpage8</column></row><table>其中主道路路口,節(jié)點(diǎn)ll,節(jié)點(diǎn)12,…,從道路路口1即構(gòu)成路網(wǎng)上的一個(gè)路段,第二步完成后得到的全部放射狀路體數(shù)據(jù)結(jié)構(gòu)即構(gòu)成整幅路網(wǎng)矢量數(shù)字地圖。第三步,刪除冗余節(jié)點(diǎn)刪除上一步生成的路網(wǎng)矢量數(shù)字地圖中的冗余節(jié)點(diǎn),得到最終的路網(wǎng)矢量數(shù)字地圖。所述的冗余節(jié)點(diǎn)是指代表路體形狀的非必需節(jié)點(diǎn),即除直線(xiàn)型路體的兩個(gè)必需節(jié)點(diǎn)以外的節(jié)點(diǎn)。所述的非共線(xiàn)性度是指衡量三個(gè)相鄰節(jié)點(diǎn)的共線(xiàn)性程度的參數(shù),具體計(jì)算式為〔=|(>3-:^2)(12—xj—(x3—x2)(>2—M)l,其中(X,M),02,;;2),03,}3)分別為三個(gè)相鄰節(jié)點(diǎn)的坐標(biāo)。該參數(shù)越大,則三個(gè)節(jié)點(diǎn)的共線(xiàn)性程度越低。所述的刪除冗余節(jié)點(diǎn)是指計(jì)算每一個(gè)路體(兩個(gè)道路路口之間的道路體,由除道路路口節(jié)點(diǎn)外的若干節(jié)點(diǎn)表示)上任意三個(gè)相鄰節(jié)點(diǎn)的非共線(xiàn)性度,并將其與閾值f比較,如果c〈s,則表示三個(gè)相鄰節(jié)點(diǎn)中的中間節(jié)點(diǎn)是冗余節(jié)點(diǎn),故將其在矢量地圖數(shù)據(jù)中的坐標(biāo)刪除。與現(xiàn)有技術(shù)相比,本發(fā)明可由計(jì)算機(jī)自動(dòng)完成整個(gè)路網(wǎng)矢量化過(guò)程,生成的由"放射狀路體數(shù)據(jù)結(jié)構(gòu)"構(gòu)成的路網(wǎng)矢量數(shù)字地圖可以較為方便地轉(zhuǎn)化成ESRIShp格式的標(biāo)準(zhǔn)底圖,從而可以在多數(shù)商業(yè)GIS(GeographicInformationSystem)軟件,如ArcGis,Maplnfo等中直接打開(kāi)和編輯。一定程度上能給智能交通系統(tǒng)和車(chē)輛導(dǎo)航系統(tǒng)中的軌跡校正操作帶來(lái)較大的便利。本發(fā)明無(wú)須購(gòu)買(mǎi)數(shù)字地圖矢量化專(zhuān)業(yè)設(shè)備,耗時(shí)較短,能滿(mǎn)足大規(guī)模應(yīng)用要求。圖1為本發(fā)明的實(shí)施過(guò)程框圖。圖2為實(shí)施例矢量化過(guò)程全其中a為檢測(cè)道路路口示意圖;b為添加節(jié)點(diǎn)示意圖;C為刪除冗余節(jié)點(diǎn)示意圖。圖3為實(shí)施例矢量路網(wǎng)地其中a為適量數(shù)字地圖;b為圖3a的局部放大示意圖。具體實(shí)施例方式下面對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。以某省某地區(qū)路網(wǎng)柵格數(shù)字地圖作為矢量化對(duì)象實(shí)現(xiàn)本實(shí)施例的矢量化過(guò)程為例,其具體步驟如下1.讀取路網(wǎng)柵格數(shù)字地圖,存入二維數(shù)組RoadMap,設(shè)置一個(gè)5x5二維數(shù)組Mask?;贛ask,做如下運(yùn)算1)逐個(gè)檢査RoadMap上的像素是否為ROAD(即值為1),如果是,復(fù)制以該元素為中心的25個(gè)像素到Mask上(25個(gè)像素覆蓋一個(gè)正方形區(qū)域);2)將像素Mask[2][2]置零,設(shè)置隊(duì)列Combustion,并將坐標(biāo)(2,2)放入該隊(duì)列的隊(duì)尾。以隊(duì)列Combustion非空為條件循環(huán)取出隊(duì)列Combustion的隊(duì)首元素,在(Mask上)取出元素的8鄰域內(nèi)搜索單位像素,搜索到后置零,同時(shí)將被置零像素的坐標(biāo)放入隊(duì)列Combustion的隊(duì)尾;3)將數(shù)組Mask的全部元素置零,然后將隊(duì)列Combustion中存留坐標(biāo)所對(duì)應(yīng)的像素(在Mask上)重新置為R0AD,同時(shí)清空Combustion;4)沿著Mask的單像素寬度邊緣査找單位像素,找到后置零,并將被置零像素的坐標(biāo)放入Combustion的隊(duì)尾。以隊(duì)列Combustion非空為條件循環(huán)取出隊(duì)列Combustion的隊(duì)首元素,然后在取出像素的8鄰域內(nèi)(忽略超出Mask邊界部分)搜索單位像素,搜索到后置零,并將被置零像素的坐標(biāo)放入Combustion的隊(duì)尾。循環(huán)結(jié)束后,變量Count加l,繼續(xù)査找(重復(fù)步驟4)),直到Mask的全部邊緣像素均被檢査一遍是否為單位像素。5)根據(jù)變量Count=0,=2,=1或>2,將數(shù)組RoadMap上正被分析的單位像素分別置零,保持不變,置CROSS(即值為2的像素)。重復(fù)步驟1)5),直到數(shù)組RoadMap上除了兩個(gè)像素寬度邊緣部分外的全部單位像素按上述五步分析一遍。2.設(shè)置堆棧Check,然后逐個(gè)檢查RoadMap上的像素是否為非節(jié)點(diǎn)像素(像素值不為2),同時(shí)檢查其坐標(biāo)是否已保存在Check中,如果均為否,則備份RoadMap于二維數(shù)組RoadMap2中。在RoadMap2上將剛檢査到的節(jié)點(diǎn)像素置零,并將被置零像素的坐標(biāo)放入隊(duì)列Combustion的隊(duì)尾(注意,步驟2開(kāi)始前先清空Combustion)。以隊(duì)列Combustion非空為條件循環(huán)取出Combustion的隊(duì)首元素,將其坐標(biāo)放入堆棧Crossing中,同時(shí)在RoadMap2上搜索取出元素8鄰域內(nèi)的節(jié)點(diǎn)像素,搜到后置零,并將被置零像素的坐標(biāo)放入隊(duì)列Combustion的隊(duì)尾。循環(huán)結(jié)束后,計(jì)算堆棧Crossing中存儲(chǔ)坐標(biāo)的中心,并存于變量MainCross(二維坐標(biāo)機(jī)構(gòu)體變量)中。搜索堆棧Crossing中每個(gè)元素8鄰域內(nèi)的單位像素,搜索到后置零,并將被置零像素的坐標(biāo)放入Combustion的隊(duì)尾。以隊(duì)列Combustion非空為條件循環(huán)l)取出Combustion的隊(duì)首元素,檢査取出元素與堆棧Chain[i](i=0,1,)中各元素(均為坐標(biāo))的位置關(guān)系,如果與某一堆棧中的某一元素互在對(duì)方的8鄰域中,則將該取出元素存于上述堆棧中,否則設(shè)置新堆棧Chain[k](k為已有以Chain命名堆棧的總數(shù)),并將該取出元素存于新堆棧中;2)査找取出元素8鄰域內(nèi)的單位像素和節(jié)點(diǎn)像素,對(duì)于單位像素,將其置零,并把其坐標(biāo)放入Combustion的隊(duì)尾;對(duì)于節(jié)點(diǎn)像素,將其置零并保存其坐標(biāo)于新設(shè)置隊(duì)列SubCombustion的隊(duì)尾,并以SubCombustion非空為條件循環(huán)取出SubCombustion的隊(duì)首元素,保存其于堆棧Crossing中(循環(huán)前清空),在(RoadM即2上)取出元素的8鄰域內(nèi)搜索節(jié)點(diǎn)像素,搜索到后置零,并將被置零像素的坐標(biāo)放入SubCombustion的隊(duì)尾。循環(huán)結(jié)束后,計(jì)算Crossing中保存坐標(biāo)的中心,按順序存于變量SubCross[i](i=0,1,…)中。當(dāng)本步驟的循環(huán)(上述l)與2))結(jié)束時(shí),共得到坐標(biāo)MainCross,SubCross[i](i=0,1,…),以及MainCross與各SubCross[i]之間的像素鏈,即堆棧Chain[i](^0,1,…)。在各像素鏈上,首先找到中間位置的像素,并保存該像素的坐標(biāo)(如果中間位置有兩個(gè)像素,則保存它們的中點(diǎn)坐標(biāo))于數(shù)組Nodes[i](i=0,l,一)中;然后,自中間位置的像素到像素鏈的兩端,按等間隔將像素的坐標(biāo)保存于數(shù)組Nodes[i](i=0,1,…)中。設(shè)置結(jié)構(gòu)體數(shù)組Radial,將MainCross,SubCross[i],Nodes[i](i=0,1,…)中的信息保存于結(jié)構(gòu)體Radial[j](j=0,1,2,…)中。當(dāng)步驟2結(jié)束時(shí),得到了存于結(jié)構(gòu)體數(shù)組Radial中的矢量地圖數(shù)據(jù),其中每個(gè)結(jié)構(gòu)體代表了一個(gè)以某一道路路口為中心的放射狀路體數(shù)據(jù)結(jié)構(gòu)。3.對(duì)數(shù)組Radial中的結(jié)構(gòu)體逐個(gè)運(yùn)算分別計(jì)算Nodes[i](i=0,1,)上任意三個(gè)相鄰節(jié)點(diǎn)的"非共線(xiàn)性度"c—(_y3->;2)0c2—x》-(;c3—X2)(h-:^)1,其中",X),(A,h),0c3,")為上述三個(gè)節(jié)點(diǎn)的坐標(biāo)(存于Nodes[i]中),比較"非共線(xiàn)性度"c與閾值c(比如設(shè)置為20)的大小關(guān)系,如果c^s,則在Nodes[i]中刪除上述三個(gè)相鄰節(jié)點(diǎn)位于中間的那個(gè),即(x2,a)。以某省某地區(qū)的路網(wǎng)柵格數(shù)字地圖為實(shí)施例數(shù)據(jù),采用本實(shí)施例方法對(duì)其進(jìn)行矢量化的過(guò)程全圖如附圖2所示,該圖中的黑色圓點(diǎn)即為矢量地圖數(shù)據(jù)中的節(jié)點(diǎn)(存于Radial數(shù)組中),附圖3則為矢量化后的路網(wǎng)地圖。權(quán)利要求1、一種路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征在于,首先將路網(wǎng)柵格數(shù)字地圖讀入計(jì)算機(jī)內(nèi)存,并檢測(cè)路網(wǎng)圖像上的道路路口,即包括交叉道路路口和道路終端,同時(shí)標(biāo)記構(gòu)成道路路口的像素;然后,以每個(gè)道路路口為中心檢測(cè)其相鄰的道路路口,同時(shí)生成該道路路口到各個(gè)相鄰道路路口的像素鏈,緊接著在各像素鏈上等間隔添加節(jié)點(diǎn),即為記錄道路形狀的圖形點(diǎn);最后,刪除上一步添加的冗余節(jié)點(diǎn),并按照標(biāo)準(zhǔn)矢量地圖格式保存矢量化結(jié)果。2、根據(jù)權(quán)利要求l所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,包括以下步驟第一步,檢測(cè)路網(wǎng)圖像上的道路路口先將路網(wǎng)柵格數(shù)字地圖讀入計(jì)算機(jī)內(nèi)存,然后通過(guò)劃分模板對(duì)路網(wǎng)柵格數(shù)字地圖進(jìn)行模板運(yùn)算將每個(gè)道路路口設(shè)置為節(jié)點(diǎn)像素,制成道路路口數(shù)字地圖;第二步,在道路路口數(shù)字地圖上添加路口節(jié)點(diǎn)以道路路口數(shù)字地圖上每個(gè)道路路口為中心添加路口節(jié)點(diǎn),并且記錄添加路口節(jié)點(diǎn)過(guò)程中所生成的放射狀路體數(shù)據(jù)結(jié)構(gòu),全部的放射狀路體數(shù)據(jù)結(jié)構(gòu)便構(gòu)成矢量路網(wǎng)地圖;第三步,刪除冗余節(jié)點(diǎn)刪除上一步生成的路網(wǎng)矢量數(shù)字地圖中的冗余節(jié)點(diǎn),得到最終的路網(wǎng)矢量數(shù)字地圖。3、根據(jù)權(quán)利要求1所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的模板運(yùn)算是指對(duì)于路網(wǎng)柵格數(shù)字地圖上任意一個(gè)單元像素/7(/,力,以該單元像素為中心設(shè)置劃分模板,從路網(wǎng)柵格數(shù)字地圖上讀取劃分模板。4、根據(jù)權(quán)利要求3所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的讀取劃分模板為正方形,其邊長(zhǎng)為210個(gè)像素;所述的單元像素的像素值為1;所述的節(jié)點(diǎn)像素的像素置為3。5、根據(jù)權(quán)利要求4所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的讀取劃分模板是指(1)將劃分模板中的一個(gè)單元像素的像素值置零,并將該單元像素對(duì)應(yīng)分模板內(nèi)的坐標(biāo)存入劃分隊(duì)列并作為隊(duì)尾元素,然后依次取出劃分隊(duì)列的隊(duì)首元素的坐標(biāo),并搜索該坐標(biāo)對(duì)應(yīng)的像素周?chē)?個(gè)方向上相鄰的像素中的單元像素,并將搜索到的單元像素的像素值置零后將其坐標(biāo)存入劃分隊(duì)列中作為更新后的隊(duì)尾元素,以此循環(huán)直至整個(gè)劃分模板中的單元像素的坐標(biāo)值均被存入劃分隊(duì)列中;(2)將劃分模板內(nèi)的所有像素的像素值置零,再將劃分隊(duì)列中所有元素對(duì)應(yīng)坐標(biāo)的像素值置l,劃分隊(duì)列中的坐標(biāo)即為單像素寬邊緣,然后清空該劃分模板;(3)依次搜索單像素寬邊緣上的每一個(gè)坐標(biāo)的8個(gè)方向上相鄰的像素中的單位像素,并記錄搜索成功的次數(shù)進(jìn)行道路路口判斷;(4)重復(fù)步驟(1)至步驟(3)直至路網(wǎng)柵格數(shù)字地圖上的每一個(gè)單元像素都進(jìn)行過(guò)道路路口判斷,則對(duì)應(yīng)路網(wǎng)柵格數(shù)字地圖上的全部道路路口均被遍歷且對(duì)應(yīng)的像素值均被置為3,制成道路路口數(shù)字地圖。6、根據(jù)權(quán)利要求5所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的道路路口判斷,具體如下a)當(dāng)搜索成功次數(shù)為0,表示當(dāng)前單像素寬邊緣上的坐標(biāo)是噪聲,將該坐標(biāo)對(duì)應(yīng)的像素值置零;b)當(dāng)搜索成功次數(shù)為2,表示當(dāng)前單像素寬邊緣上的坐標(biāo)不在道路路口上,返回步驟(1)進(jìn)行下一個(gè)單像素寬邊緣的判斷;c)當(dāng)搜索成功次數(shù)為1或大于2,表示當(dāng)前單像素寬邊緣上的坐標(biāo)在道路路口上,將該坐標(biāo)對(duì)應(yīng)的像素值置3,即將該單元像素修改為節(jié)點(diǎn)像素。7、根據(jù)權(quán)利要求1或者2所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的路口節(jié)點(diǎn)是指存儲(chǔ)路網(wǎng)拓?fù)浣Y(jié)構(gòu)信息和幾何形狀信息的坐標(biāo)點(diǎn)。8、根據(jù)權(quán)利要求1或者2所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的放射狀路體數(shù)據(jù)結(jié)構(gòu)是指以某一道路路口為中心,沿著交于該道路路口的道路延伸直至遇到其他道路路口結(jié)束,在該過(guò)程中所涉及的道路體構(gòu)成一個(gè)放射狀路體數(shù)據(jù)結(jié)構(gòu),其中中心道路路口為主道路路口,外圍道路路口為從道路路口。9、根據(jù)權(quán)利要求1或者2所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的以道路路口數(shù)字地圖上每個(gè)道路路口為中心添加路口節(jié)點(diǎn)是指(1)對(duì)于道路路口數(shù)字地圖上的任意節(jié)點(diǎn)像素/^,力,其中i和J分別表示該節(jié)點(diǎn)像素的坐標(biāo)值,檢查其構(gòu)成的道路路口是否已作為主道路路口運(yùn)算過(guò);如沒(méi)有,備份柵格地圖,將備份地圖上的p(/,力置零,同時(shí)將其坐標(biāo)放入劃分隊(duì)列的隊(duì)尾,以劃分隊(duì)列非空為條件循環(huán)取出劃分隊(duì)列的隊(duì)首元素,將其存入道路路口堆棧,同時(shí)取出該隊(duì)首元素對(duì)應(yīng)的像素的8個(gè)方向上相鄰的像素中的節(jié)點(diǎn)像素,搜索到后置零,并將被置零像素的坐標(biāo)放入劃分隊(duì)列的隊(duì)尾;循環(huán)結(jié)束時(shí),道路路口堆棧中存儲(chǔ)的坐標(biāo)所對(duì)應(yīng)的像素即構(gòu)成主道路路口,計(jì)算道路路口堆棧中存儲(chǔ)坐標(biāo)的中心坐標(biāo),記為(2)將主道路路口周?chē)墓?jié)點(diǎn)像素置零,并將它們的坐標(biāo)放入劃分隊(duì)列的隊(duì)尾,以劃分隊(duì)列非空為條件循環(huán)取出劃分隊(duì)列的隊(duì)首元素,按其所在路段存入堆棧Chain[i],其中i=0,l,一,搜索取出像素8個(gè)方向上相鄰的像素中的單位像素和節(jié)點(diǎn)像素,若搜到的為單位像素,則將其置零,并將其坐標(biāo)放入劃分隊(duì)列的隊(duì)尾;若為節(jié)點(diǎn)像素,將其置零,并將其坐標(biāo)放入次劃分隊(duì)列的隊(duì)尾,然后以次劃分隊(duì)列非空為條件循環(huán)取出次劃分隊(duì)列的隊(duì)首元素,存入道路路口堆棧中,搜索取出元素8個(gè)方向上相鄰的像素中的節(jié)點(diǎn)像素,搜到后置零,并將被置零像素的坐標(biāo)放入次劃分隊(duì)列的隊(duì)尾;循環(huán)結(jié)束時(shí),道路路口堆棧中存儲(chǔ)的坐標(biāo)所對(duì)應(yīng)的像素即構(gòu)成一個(gè)從道路路口,計(jì)算其中心坐標(biāo),記為(x;,;O,其中i-0,1,…,S表示道路路口堆棧;(3)在各像素鏈上,首先找到中間位置的像素,并記錄其坐標(biāo)或中點(diǎn)坐標(biāo)標(biāo);然后,自中間位置的像素坐標(biāo)或中點(diǎn)坐標(biāo)到像素鏈的兩端,按等間隔設(shè)置像素為節(jié)點(diǎn),并記錄它們的坐標(biāo),最終,將上述坐標(biāo)整理并記錄成放射狀路體數(shù)據(jù)結(jié)構(gòu)。10、根據(jù)權(quán)利要求1或者2所述的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,其特征是,所述的刪除冗余節(jié)點(diǎn)是指計(jì)算每一個(gè)路體,即兩個(gè)道路路口之間的道路體,由除道路路口節(jié)點(diǎn)外的若干節(jié)點(diǎn)表示,上任意三個(gè)相鄰節(jié)點(diǎn)的非共線(xiàn)性度,并將其與閾值s比較,如果"e,則表示三個(gè)相鄰節(jié)點(diǎn)中的中間節(jié)點(diǎn)是冗余節(jié)點(diǎn),故將其在矢量地圖數(shù)據(jù)中的坐標(biāo)刪除;所述的冗余節(jié)點(diǎn)是指代表路體形狀的非必需節(jié)點(diǎn),即除直線(xiàn)型路體的兩個(gè)必需節(jié)點(diǎn)以外的節(jié)點(diǎn);所述的非共線(xiàn)性度是指衡量三個(gè)相鄰節(jié)點(diǎn)的共線(xiàn)性程度的參數(shù),具體計(jì)算式為C—(少?gòu)V少2)02-A)-(A-A)02-乂)1,其中(W,)'02,^2)'03,乂3)分別為三個(gè)相鄰節(jié)點(diǎn)的坐標(biāo)。全文摘要一種圖像處理
技術(shù)領(lǐng)域
的路網(wǎng)柵格數(shù)字地圖自動(dòng)矢量化方法,首先將路網(wǎng)柵格數(shù)字地圖讀入計(jì)算機(jī)內(nèi)存,并檢測(cè)路網(wǎng)圖像上的道路路口,即包括交叉道路路口和道路終端,同時(shí)標(biāo)記構(gòu)成道路路口的像素;然后,以每個(gè)道路路口為中心檢測(cè)其相鄰的道路路口,同時(shí)生成該道路路口到各個(gè)相鄰道路路口的像素鏈,緊接著在各像素鏈上等間隔添加節(jié)點(diǎn),即為記錄道路形狀的圖形點(diǎn);最后,刪除上一步添加的冗余節(jié)點(diǎn),并按照標(biāo)準(zhǔn)矢量地圖格式保存矢量化結(jié)果。本發(fā)明生成的路網(wǎng)矢量數(shù)字地圖能給智能交通系統(tǒng)和車(chē)輛導(dǎo)航系統(tǒng)中的軌跡校正操作帶來(lái)較大的便利。文檔編號(hào)G09B29/00GK101630463SQ20091005561公開(kāi)日2010年1月20日申請(qǐng)日期2009年7月30日優(yōu)先權(quán)日2009年7月30日發(fā)明者劉允才,史文歡,兵孫,黃茂祥申請(qǐng)人:上海交通大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1