專利名稱:交錯線矢量化提取及圖形識別方法
技術領域:
本發(fā)明涉及一種工程CAD圖紙的矢量化方法,特別是一種工程CAD圖紙的矢量化 圖形識別方法。
背景技術:
在當今的信息社會中,盡管CAD技術在工業(yè)設計領域得到了廣泛的應用,但仍有 大量的圖紙信息以紙質、圖片的形式保存、管理和使用著。這些工程圖紙往往使一個系統(tǒng)或 者行業(yè)長時間積累下來的,完整的保存了以往的寶貴經(jīng)驗,對以后的設計有很好的借鑒作 用。其中相當一部分還會在以后的設計和制造中被修改和重復使用。為了復用這些圖紙, 將這些圖紙圖像的信息用計算機進行管理,并建立相應的數(shù)據(jù)庫,以大大減少圖紙的更新 和維護耗費的人力資源,更加便于存儲、修改、查詢、交流,是必然的發(fā)展趨勢,具有重要的 社會現(xiàn)實意義。工程圖矢量化是將工程圖的掃描位圖表達轉化為CAD系統(tǒng)使用的圖形描述 矢量實體,如直線、圓、圓弧、曲線以及字符等,可大大提高圖紙的復用能力。
完整的矢量化過程大體分為兩類,一種是包括有圖像的預處理、圖像二值化以及 二值圖的矢量化識別過程,即直接在光柵圖上進行圖形識別的矢量化系統(tǒng);一種是包括光 柵圖初步矢量化和圖形類型檢測/識別的兩步操作的二維矢量化系統(tǒng)。其中應用較為理想 的是第二種方法,即先通過矢量化預處理方法,然后利用預處理過程的輸出數(shù)據(jù)進行基于 圖形類型的檢測和識別過程,該過程可以得到較為理想的CAD文件。圖像初步矢量化過程 同樣包括有圖像的預處理過程、圖像的二值化等過程。本發(fā)明涉及包括圖像初步矢量化和 基于矢量化的圖形檢測識別的整個過程,稱為工程CAD圖紙的矢量化圖形識別系統(tǒng)。
國內外研究人員針對圖像矢量化處理過程提出了一些比較有效的算法,主要集中 于初步矢量化/識別的思路。不同的初步矢量化算法往往對應于不同的圖形識別算法。這 里根據(jù)初步矢量化算法分類有基于細化的方法、基于輪廓線的方法、基于圖形結構的方 法、離散象素跟蹤的方法以及正交之字型(簡稱為0ZZ)方法。目前針對矢量化的研究基本 上都是在這些方法的框架下進行的,但對于圖像具有噪聲干擾,僅有離散圖像跟蹤的方法 能夠取得比較好的效果,但離散圖像跟蹤的方法為了避免在初步矢量化過程中全圖搜索的 過程而采用了位置索引算法,該算法得到的覆蓋域不能完全與原圖匹配,會造成一些誤矢 量化的結果。另外,由于對工程CAD圖紙的矢量化在理論方面還有很多不完善的地方,因此 大都仍然處于研究階段,沒有形成完整的系統(tǒng)。 現(xiàn)有專利(基于二值區(qū)域的逐步迭代矢量化預處理系統(tǒng))和專利( 一種工程CAD 圖紙的矢量化識別方法)分別提出了一種二值區(qū)域的逐步迭代矢量化處理方法和一種矢 量化識別方法。其中第一項專利的矢量化預處理方法主要進行了基于斜框覆蓋域的初步矢 量化過程,但該覆蓋域方法并不能有效覆蓋已矢量化部分,而且很可能覆蓋多余的未矢量 化區(qū)域;第二項專利的識別過程是在前一個專利的基礎上進行的,矢量化數(shù)據(jù)通過位置索 引方法提高識別的效率,識別方法采用了基于假設/檢驗的方法進行。由于存在交錯線后 位置索引方法帶來的誤差,使得識別結果獲得了很多不完整的圖形。
發(fā)明內容
本發(fā)明提供一種交錯線矢量化提取及圖形識別方法,該方法能改善矢量化識別的 結果,提高矢量化識別的運算速率,并具有適用范圍廣、矢量化識別精度高、運算速度快等 優(yōu)點,對于工程圖紙矢量化系統(tǒng)處理以及三維重建等工作具有重要意義和實用價值。
為實現(xiàn)上述目的,本發(fā)明的技術方案是一種交錯線矢量化提取及圖形識別方法, 包括在通用計算機平臺上采用MFC微軟的基礎類庫進行圖像預處理和矢量化處理,具體步 驟如下 1.圖像預處理 (1)去除工程圖像的噪聲點 (2)工程圖紙二值化處理 首先將藍色背景的工程圖紙的RGB表示方式轉變成為HSI表示方式,然后結合RGB
表示方法中的B分量對圖像的I分量進行二值化處理,而后,利用B分量二值化結果對I分
量的二值化結果進行校正,在獲得灰度直方圖后進行直方圖的軟平滑濾波,求取灰度直方
圖兩個峰值點之間的局部最小值點,該局部最小值點作為全局閾值。 2.矢量化處理 (1)初始中軸點獲取 1)對整個圖像進行掃描,掃描線進入矢量化區(qū)域的點cl{x, ylh掃描線躍出矢量 化區(qū)域的點為c2{x, y2}像素的位置信息; 2)對cl和c2進行平均,獲得中間點pi {x, (yl+y2)/2}; 3)以pi點為中心進行上下掃描,得到cl和c2平均值p2{(xl+x2)/2, (yl+y2)/2}; 4)判斷pl和p2之間的像素距離,S卩(xl+x2)/2和x之間的差值,如果該差值小于 一個像素值,則將p2點作為初始中軸點;否則從p2點開始橫向掃描,返回步驟l)繼續(xù)2)、 3) 、4)步; (2)中軸點鏈掃描獲取 從初始中軸pixl點開始,將pixl點保存在中軸點鏈的中軸點列表中,并將相應的 寬度信息加入到鏈表中,寬度信息是該中軸點縱向方向的碰撞距離;
(3)中軸點鏈掃描條件判斷 在進入點鏈獲取掃描前,先進行三個條件的判斷
4)寬度一致性檢驗;
5)方向一致性檢驗;
6)掃描步長限制條件檢驗;
(4)中軸點多義線處理 得到整張圖紙的中軸點鏈信息后,采用多義線處理的手段對這些信息進行壓縮, 該過程是對中軸點鏈的再次掃描;
(5)節(jié)點復原 首先放棄當前的中軸點,將前一個中軸點設置為當前中軸點,緩沖計數(shù)器自動加 l,然后對該中軸點的與中軸點掃描方向一致的最大掃描步長進行設置,使其進行折半處理,重新進行一次中軸點橫向和縱向掃描,通過循環(huán)過程后,系統(tǒng)會獲得整張工程圖紙的中 軸點鏈,該中軸點鏈包括中軸點的鏈表信息、中軸點的寬度信息以及該中軸點鏈的方向信 息; (6)軸出中軸點鏈 上述第二步驟中,峰值點的求取過程和它們之間的局部最小值點的求取過程如 下 1)定義一個灰度直方圖類CImageHist,該類中主要包含了一個一維向量m—
ImgeHi st 、對向量進行平滑的濾波函數(shù)Fi 11er ()、對 一 維向量進行求取峰值點的函數(shù)
getMaxVector ()以及求取某峰值點之間的局部最小值點的函數(shù)getLocalMin(); 2)灰度直方圖的一維向量mJmgeHist,其維度為256,對應于像素值的0到255 ; 3)平滑的濾波函數(shù)Filter ()中選擇不同的濾波方法,使用平滑方法,利用灰度值
統(tǒng)計變化最大閾值來平滑直方圖,對向量mJmgeHist從0點開始掃描,以此對變化幅度進
行比較,當變化幅度大于某個閾值時,則根據(jù)變化方向加減該位置的元素值,否則,保持原
數(shù)值不變;該函數(shù)的輸出為一個bool變量,以表示正確執(zhí)行,方便后續(xù)函數(shù)的調用; 4)對一維向量進行求取峰值點函數(shù)getMaxVector ()返回值為一個峰值列表,比
較大小,若發(fā)現(xiàn)后值比前值小,則認為前值所對應的數(shù)值為一個峰值點; 5)對給定峰值點求取局部最小值點getLocalMin(),返回值為一個一維數(shù)組,數(shù)
組中包含兩個元素,第一個元素表示該最小值點的數(shù)值,第二個點表示該最小值點所對應
的灰度值。 上述第四步驟中,對于一條中軸點鏈,該過程如下 5)設置第一個中軸點為當前中軸點,第二個中軸點為拓展中軸點,當前中軸點與 拓展中軸點進行連線處理; 6)連線處理是在拓展中軸點上以該中軸點的寬度為直徑,以該中軸點為圓心作 圓,在用當前的中軸點與這個圓做兩條切線; 7)從拓展中軸點開始找下一個中軸點,對其作圓,方法與連線處理過程一樣,如果
這個圓落在這兩條切線內,則將該中軸點刪除;再找下一個中軸點,重復本次操作; 8)直到有中軸點的圓與切線相切,則將該中軸點作為當前中軸點,該當前中軸點
的第二個中軸點設置為擴展中軸點,重復2) 、3)步驟直到該條中軸點鏈掃描完成。 本發(fā)明的有益效果是本發(fā)明方法是一種工程CAD圖紙的矢量化圖形識別方法具
有適用范圍廣、矢量化精度高、運算速度快等優(yōu)點,對于工程圖紙矢量化系統(tǒng)以及三維重建
等工作具有重要意義和實用價值。
圖1是本發(fā)明方法的流程示意圖; 圖2是本發(fā)明實施例中經(jīng)過去噪處理后的圖像; 圖3是本發(fā)明實施例中經(jīng)過矢量化提取過程后的圖像。
具體實施例方式
以下結合附圖和實施例對本發(fā)明的技術方案作進一步描述。
如圖1所示,本發(fā)明的交錯線矢量化提取及圖形識別方法,包括在通用計算機平
臺上采用MFC微軟的基礎類庫進行圖像預處理和矢量化處理,具體步驟如下 1.圖像預處理 (1)去除工程圖像的噪聲點 (2)工程圖紙二值化處理 2.矢量化處理 (1)初始中軸點獲取 (2)中軸點鏈掃描獲取 (3)中軸點鏈掃描條件判斷 (4)中軸點多義線處理 (5)節(jié)點復原 (6)軸出中軸點鏈 本實施例中的圖像采集裝置采用三星KV-S3065CWCN型號的一體機掃描儀,其性 能如下 掃描元件CIS ;
設計類型文件掃描儀;
掃描范圍227 X 2540mm ;
光學分辨率600X600 ; 色彩位數(shù)黑白(二值,半色調模式),灰度(8bit),彩色(24bit);
掃描速度60卯m/110ipm ; 傳輸接口 Ultra SCSI (SCSI-III)傳輸速率20M-byte/sec, 接口器50細針,USB2. 0 ; 掃描介質文件; 光源性能雙管白色熒光燈。
本實施例中的計算機平臺性能如下 CPU主頻:Celon 2. 66G ; 內存容量516M ;運行操作系統(tǒng)為Windows XP ; —個并行打印端口,配置為USB端口。 本發(fā)明在通用計算機平臺上啟動矢量化系統(tǒng),矢量化系統(tǒng)關聯(lián)掃描設備啟動程 序,使其對掃描設備進行掃描,獲得圖紙的BMP格式文件,各步驟的具體細節(jié)描述如下
1、在通用計算機平臺上的矢量化系統(tǒng)采用了 MFC的結構設計,在該結構中設計了 一個掃描工具、一個矢量化工具以及識別工具 第一步對于獲得的圖像進行二值化和基本的預處理,如采用形態(tài)學濾波的方法 對圖像的噪聲點進行去除。 MFC是微軟的基礎類庫,它提供有很方便的構建軟件系統(tǒng)架構的能力,其使用的關 鍵之處在于消息和命令的傳遞機制。本發(fā)明的掃描工具、矢量化工具以及識別工具就是使 用命令機制構造的。使用需求的定義如下 掃描工具進程直接調用三星掃描儀的API函數(shù)進行,該過程的調用方法和傳統(tǒng)的
7函數(shù)調用方法類似,本發(fā)明不再予以陳述。矢量化工具啟動2步驟的矢量化過程。識別工 具啟動了一個MFC的對話框,在該對話框中具有不同圖形的拓展復選框,可供用戶選擇,如 "直線"、"圓弧"、"橢圓弧"、"點劃線"以及"全部圖形"等。
對于該系統(tǒng)的具體實現(xiàn)概要如下 設掃描工具的ID號為ID_SCAN,矢量化工具的ID號為ID_VECT0R,識別工具的ID 號為ID_REC0。這些ID號在MFC框架的Resouce.h文件中定義,其定義方法也是非常成熟 的技術,這里不再敘述。 為了使ID號與程序的調用子函數(shù)對應,這里使用了 MFC的消息傳遞和命令傳遞機 制。在系統(tǒng)的視圖類CMyView中,定義了這樣的一個映射關系
ON—COMMAND (ID_VECT0R, OnVectorization)
0N_C0MMAND(ID_REC0, OnRecognition) 2、系統(tǒng)的矢量化工具采用了區(qū)域增長和矢量化區(qū)域包圍合以及多條件限制的方 法,該方法分為四步進行,其具體過程如下 由于工程機械圖紙是一種藍色背景的圖像,而單純的矢量化方法需要在二值化圖 像上進行,本發(fā)明的二值化方法采用的是一種自適應的二值化方法,能夠有效去除工程圖 紙的無效背景。具體過程如下 第一、首先將藍色背景的工程圖紙的RGB表示方式轉變成為色彩耦合度很小的 HSI表示方式,在這種表示方式中,H分量反映的是色度信息;S分量反映的是飽和度信息; I分量反映的是對比度信息。對比度信息將RGB分量的所有能夠反映的對比度特征用一個 分量表達出來了,這種方式有利于使用灰度圖像處理方法來處理彩色圖像,保證了對比度 信息的缺失。 第二、結合RGB表示方法中的B分量對圖像的I分量進行二值化處理。B分量反映 了圖像的藍色分量,工程圖紙的藍色分量反映出其背景信息,所謂二值化其實就是對背景 信息的濾除。本發(fā)明對B分量和I分量分別進行自適應的二值化處理,而后,利用B分量二 值化結果對I分量的二值化結果進行校正。圖像的全局閾值使用了灰度直方圖低谷點的方 法,所謂灰度直方圖是對灰度圖像像素灰度值的一種統(tǒng)計結果,即統(tǒng)計整張圖像在0 255 個灰度等級下的分布。在獲得了灰度直方圖后進行直方圖的軟平滑濾波,求取灰度直方圖 兩個峰值點之間的局部最小值點,該局部最小值點作為全局閾值。為了獲得較快速的處理 過程,本發(fā)明的峰值點的求取過程和它們之間的局部最小值點的求取過程如下 1)定義一個灰度直方圖類CImageHist,該類中主要包含了一個一維向量m—
ImgeHi st 、對向量進行平滑的濾波函數(shù)Fi 11er ()、對 一 維向量進行求取峰值點的函數(shù)
getMaxVector ()以及求取某峰值點之間的局部最小值點的函數(shù)getLocalMin ()。 2)灰度直方圖的一維向量mJmgeHist,其維度為256,對應于像素值的0到255 ; 3)平滑的濾波函數(shù)Filter ()中有一個方法選擇參數(shù),即選擇不同的濾波方法,本
實施例中使用了軟件開關的平滑方法,利用了灰度值統(tǒng)計變化最大閾值來平滑直方圖,對
向量nUmgeHist從0點開始掃描,以此對變化幅度進行比狡,當變化幅度大于某個閾值時,
則根據(jù)變化方向加減該位置的元素值,否則,保持原數(shù)值不變;該函數(shù)的輸出為一個bool
變量,以表示正確執(zhí)行,方便后續(xù)函數(shù)的調用。 4)對一維向量進行求取峰值點函數(shù)getMaxVector()返回值為一個峰值列表,本
8實施例中使用比較大小,若發(fā)現(xiàn)后值比前值小,則認為前值所對應的數(shù)值為一個峰值點。本 實施例中使用兩次求峰值方法,得出的峰值點列表再作為輸出。 5)對給定峰值點求取局部最小值點getLocalMin(),該方法返回值為一個一維數(shù) 組,數(shù)組中包含兩個元素,第一個元素表示該最小值點的數(shù)值,第二個點表示該最小值點所 對應的灰度值。 如圖2所示為本步驟所獲得的圖去噪處理后的圖像。 第三、為了保留工程機械圖紙的有效信息,本發(fā)明對二值像中包含的噪聲點 進行類似形態(tài)學濾波的處理過程,該形態(tài)學濾波方法考慮了像素的局部灰度信息分布特 征。形態(tài)學因子選擇了 5X5的正方形窗口,在圖像中進行全局掃描,掃描窗口中對應的區(qū) 域進行了灰度統(tǒng)計,如果統(tǒng)計結果大于一個給定的數(shù)字,且該窗口所對應的形態(tài)不是預先 給定的如圖2所示的幾種形態(tài)時,本實施例中使用3,則說明該處為孤立噪聲點,將該窗口 的中心點所對應的圖像像素灰度值賦值為O,表明為背景。
第二步獲取二值化圖像某一個矢量的初始中軸點。 1)對整個圖像進行掃描, 一旦掃描線碰到從1到0的狀態(tài)時,則表明該掃描線即將 進入矢量化區(qū)域,并對該點進行標記cl。標記方法使用像素的位置信息{x, ylh從該點開 始繼續(xù)掃描,如果碰到從0到1的狀態(tài)時,則表明掃描線即將躍出矢量化區(qū)域,并記錄該點 為c2{x, y2}; 2)對cl和c2進行平均,獲得中間點,標記為pl點{x, (yl+y2)/2};
3)以pl點為中心進行上下掃描,向上掃描時,如果碰到從O到1的狀態(tài)時,則將相 應的點記錄為cl, {xl, (yl+y2)/2h對應于向下掃描時,記錄點為c2, {x2, (yl+y2)/2};在 對cl和c2進行平均,得到p2點,{(xl+x2)/2, (yl+y2)/2}; 4)判斷pl和p2之間的像素距離,S卩(xl+x2)/2和x之間的差值,如果該差值小于 一個像素值,則將p2點作為初始中軸點;否則從p2點開始橫向掃描,返回步驟l)繼續(xù)2)、 3)、4)步,掃描過程仍然是先橫向掃描后縱向掃描,像素距離判斷仍然使用(xl+x2)/2和x 之間的差值。 5)以上步驟都要記錄中間點pl和p2的橫向和縱向掃描距離,如pl點的橫向掃描 距離可以使用從cl到pl的距離與pl點到c2點的距離和表示。初始中軸點橫向和縱向的 掃描距離進行比較,如果橫向距離大于縱向距離,則標記該次矢量化區(qū)域為橫向的,否則標 記為縱向。 第三步,迭代跟蹤 首先定義輸出的中軸點鏈,該中軸點鏈為一個二維數(shù)組,其中一維表示了中軸點
的列表,另外一維表示中軸點鏈中中軸點所對應的寬度信息。 從初始中軸(設為pixl)點開始,首先將pixl點保存在中軸點 鏈的中軸點列表中,并將相應的寬度信息加入到鏈表中,寬度信 息是該中軸點縱向方向的碰撞距離; 如果矢量化區(qū)域為橫向標記 從該點開始進行兩個方向的掃描,在一個方向掃描完成后執(zhí)行另外一個方向的掃 描,這兩個方向的掃描過程一致。假設向右掃描以該初始中軸點橫向掃描,直到碰到像素 過渡區(qū)域,即從0到1狀態(tài)的變化時,記錄該點為Cl ;再從Cl點出發(fā)向下掃描,碰到0到1狀態(tài)變化時,記錄該點為c2點,將cl點和c2點的中間點pix2記錄下來,將cl到c2的距 離保存為寬度; 如果矢量化區(qū)域標記為縱向 從該點開始進行兩個方向的掃描,在一個方向掃描完成后執(zhí)行另外一個方向的掃 描,這兩個方向的掃描過程一致。假設向右掃描以該初始中軸點縱向掃描,直到碰到像素 過渡區(qū)域,即從0到1狀態(tài)的變化時,記錄該點為Cl ;再從Cl點出發(fā)向右掃描,碰到0到1 狀態(tài)變化時,記錄該點為c2點,將cl點和c2點的中間點pix2記錄下來,將cl到c2的距 離保存為寬度;將這些信息加入到中軸點鏈中。 計算該中軸點和上一個中軸點之間的距離,并保存為pixdist,進行下一個中軸點 的掃描,在真正進入點鏈獲取掃描前,先進行四個條件的判斷
7)寬度一致性檢驗; 寬度一致性檢驗是要求點鏈跟蹤時,每個點鏈獲取的寬度保持一致,本發(fā)明要求 點鏈中的中軸點寬度保持在一定的數(shù)量之內,也就是說兩個點鏈寬度相差不超過4 5個 像素。這里涉及到中軸點寬度的計算問題當點鏈方向標志為橫向時,中軸點縱向的掃描碰 撞到的兩個點之間的像素距離為中軸點的寬度。
8)方向一致性檢驗; 方向一致性檢驗是要求點鏈的方向信息一致,方向信息是根據(jù)中軸點橫向掃描與 縱向掃描的比值確定的,如果比值大于l,則表明該中軸點為橫向的,否則則表示中軸點為 縱向的。
9)掃描步長限制條件檢驗; 掃描步長限制條件檢驗是系統(tǒng)預先給予一個最大的掃描步長,無論是中軸點的橫
向掃描還是縱向掃描,都要滿足這一最大掃描步長。由于該方法所涉及到的系統(tǒng)分辨率變
化多樣,也就是圖紙線的信息所使用的像素點的個數(shù)變化較大,但對于一種圖紙分辨率變
化是不大的,本發(fā)明提出一種自適應的最大掃描步長,該步長的計算是在初始化中軸點的
過程中給出的,取初始化中軸點橫向掃描寬度和縱向掃描寬度的平均值。 方法如上,當進行第一次碰撞時,得到cl點,計算cl點和當前中軸點之間的距離,
如果與pixdist比較大于某個數(shù)值,則將碰撞距離減半,繼續(xù)進行掃描,如果寬度條件不滿
足,繼續(xù)將碰撞距離減半。這里限制減半次數(shù)為兩次。 第四步,節(jié)點復原 當系統(tǒng)滿足第三步的三個要求后,中軸點鏈的獲取掃描過程開始啟動,在根據(jù)第 三步的方法每獲得一個中軸點后,都會進行以上三個條件的判斷,當條件不滿足時并非立 刻退出掃描,本發(fā)明設計了一個緩沖計數(shù)器首先放棄當前的中軸點,將前一個中軸點設置 為當前中軸點,緩沖計數(shù)器自動加l,然后對該中軸點的與中軸點掃描方向一致的最大掃描 步長進行設置,使其進行折半處理,重新進行一次中軸點橫向和縱向掃描,如果仍然不滿足 掃描條件,緩沖計數(shù)器再次加1,最大掃描步長再次進行折半處理。這樣進行兩次緩沖,如果 仍然不滿足條件,則放棄該方向的中軸點掃描,改為從初始化中軸點處的另外一個方向掃 描或者掃描結束。如果滿足條件后,則中軸點的掃描繼續(xù)進行,且將最大掃描步長恢復為系 統(tǒng)預先設置的最大掃描步長。 第二步到第四步為一個循環(huán)過程,該循環(huán)過程的結束條件是掃描整張圖紙后沒有不被占有的矢量化區(qū)域存在。該循環(huán)過程結束后,系統(tǒng)會獲得整張工程圖紙的中軸點鏈,該 中軸點鏈包括了中軸點的鏈表信息、中軸點的寬度信息以及該中軸點鏈的方向信息。
第五步,多義線處理 得到整張圖紙的中軸點鏈信息后,本發(fā)明采用多義線處理的手段對這些信息進行
壓縮,該過程是對中軸點鏈的再次掃描。對于一條中軸點鏈,該過程如下 9)設置第一個中軸點為當前中軸點,第二個中軸點為拓展中軸點,當前中軸點與
拓展中軸點進行連線處理。 10)連線處理是在拓展中軸點上以該中軸點的寬度為直徑,以該中軸點為圓心作 圓,在用當前的中軸點與這個圓做兩條切線。
11)從拓展中軸點開始找下一個中軸點,對其作圓,方法與連線處理過程一樣,如 果這個圓落在這兩條切線內,則將該中軸點刪除;再找下一個中軸點,重復本次操作;
12)直到有中軸點的圓與切線相切,則將該中軸點作為當前中軸點,該當前中軸點 的第二個中軸點設置為擴展中軸點,重復2) 、3)步驟直到該條中軸點鏈掃描完成。
如圖3所示是本步驟中經(jīng)過矢量化提取過程后的圖像。 綜上所述僅為本發(fā)明的較佳實施例而已,并非用來限定本發(fā)明的實施范圍。即凡 依本發(fā)明申請專利范圍的內容所作的等效變化與修飾,都應為本發(fā)明的技術范疇。
1權利要求
一種交錯線矢量化提取及圖形識別方法,其特征在于包括在通用計算機平臺上采用MFC微軟的基礎類庫進行圖像預處理和矢量化處理,具體步驟如下(一)圖像預處理(1)去除工程圖像的噪聲點(2)工程圖紙二值化處理首先將藍色背景的工程圖紙的RGB表示方式轉變成為HSI表示方式,然后結合RGB表示方法中的B分量對圖像的I分量進行二值化處理,而后,利用B分量二值化結果對I分量的二值化結果進行校正,在獲得灰度直方圖后進行直方圖的軟平滑濾波,求取灰度直方圖兩個峰值點之間的局部最小值點,該局部最小值點作為全局閾值。(二)矢量化處理(1)初始中軸點獲取1)對整個圖像進行掃描,掃描線進入矢量化區(qū)域的點c1{x,y1},掃描線躍出矢量化區(qū)域的點為c2{x,y2}像素的位置信息;2)對c1和c2進行平均,獲得中間點p1{x,(y1+y2)/2};3)以p1點為中心進行上下掃描,得到c1和c2平均值p2{(x1+x2)/2,(y1+y2)/2};4)判斷p1和p2之間的像素距離,即(x1+x2)/2和x之間的差值,如果該差值小于一個像素值,則將p2點作為初始中軸點;否則從p2點開始橫向掃描,返回步驟1)繼續(xù)2)、3)、4)步;(2)中軸點鏈掃描獲取從初始中軸pix1點開始,將pix1點保存在中軸點鏈的中軸點列表中,并將相應的寬度信息加入到鏈表中,寬度信息是該中軸點縱向方向的碰撞距離;(3)中軸點鏈掃描條件判斷在進入點鏈獲取掃描前,先進行三個條件的判斷1)寬度一致性檢驗;2)方向一致性檢驗;3)掃描步長限制條件檢驗;(4)中軸點多義線處理得到整張圖紙的中軸點鏈信息后,采用多義線處理的手段對這些信息進行壓縮,該過程是對中軸點鏈的再次掃描;(5)節(jié)點復原首先放棄當前的中軸點,將前一個中軸點設置為當前中軸點,緩沖計數(shù)器自動加1,然后對該中軸點的與中軸點掃描方向一致的最大掃描步長進行設置,使其進行折半處理,重新進行一次中軸點橫向和縱向掃描,通過循環(huán)過程后,系統(tǒng)會獲得整張工程圖紙的中軸點鏈,該中軸點鏈包括中軸點的鏈表信息、中軸點的寬度信息以及該中軸點鏈的方向信息;(6)軸出中軸點鏈。
2. 根據(jù)權利要求1所述的交錯線矢量化提取及圖形識別方法,其特征在于上述第二 步驟中,峰值點的求取過程和它們之間的局部最小值點的求取過程如下1)定義一個灰度直方圖類CImageHist,該類中主要包含了一個一維向量m— ImgeHi st 、對向量進行平滑的濾波函數(shù)Fi 11er ()、對 一 維向量進行求取峰值點的函數(shù)getMaxVector ()以及求取某峰值點之間的局部最小值點的函數(shù)getLocalMin();2) 灰度直方圖的一維向量mJmgeHist,其維度為256,對應于像素值的0到255 ;3) 平滑的濾波函數(shù)Filter ()中選擇不同的濾波方法,使用平滑方法,利用灰度值統(tǒng)計 變化最大閾值來平滑直方圖,對向量mJmgeHist從0點開始掃描,以此對變化幅度進行比 較,當變化幅度大于某個閾值時,則根據(jù)變化方向加減該位置的元素值,否則,保持原數(shù)值 不變;該函數(shù)的輸出為一個bool變量,以表示正確執(zhí)行,方便后續(xù)函數(shù)的調用;4) 對一維向量進行求取峰值點函數(shù)getMaxVector()返回值為一個峰值列表,比較大 小,若發(fā)現(xiàn)后值比前值小,則認為前值所對應的數(shù)值為一個峰值點;5) 對給定峰值點求取局部最小值點getLocalMin(),返回值為一個一維數(shù)組,數(shù)組中 包含兩個元素,第一個元素表示該最小值點的數(shù)值,第二個點表示該最小值點所對應的灰 度值。
3.根據(jù)權利要求1所述的交錯線矢量化提取及圖形識別方法,其特征在于上述第四 步驟中,對于一條中軸點鏈,該過程如下1) 設置第一個中軸點為當前中軸點,第二個中軸點為拓展中軸點,當前中軸點與拓展 中軸點進行連線處理;2) 連線處理是在拓展中軸點上以該中軸點的寬度為直徑,以該中軸點為圓心作圓,在 用當前的中軸點與這個圓做兩條切線;3) 從拓展中軸點開始找下一個中軸點,對其作圓,方法與連線處理過程一樣,如果這個 圓落在這兩條切線內,則將該中軸點刪除;再找下一個中軸點,重復本次操作;4) 直到有中軸點的圓與切線相切,則將該中軸點作為當前中軸點,該當前中軸點的第 二個中軸點設置為擴展中軸點,重復2) 、3)步驟直到該條中軸點鏈掃描完成。
全文摘要
本發(fā)明涉及一種交錯線矢量化提取及圖形識別方法,包括在通用計算機平臺上采用MFC微軟的基礎類庫進行圖像預處理和矢量化處理,具體步驟如下1.圖像預處理(1)去除工程圖像的噪聲點,(2)工程圖紙二值化處理;2.矢量化處理(1)初始中軸點獲取,(2)中軸點鏈掃描獲取,(3)中軸點鏈掃描條件判斷,(4)中軸點多義線處理,(5)節(jié)點復原,(6)軸出中軸點鏈。本發(fā)明方法是一種工程CAD圖紙的矢量化圖形識別方法具有適用范圍廣、矢量化精度高、運算速度快等優(yōu)點,對于工程圖紙矢量化系統(tǒng)以及三維重建等工作具有重要意義和實用價值。
文檔編號G06K9/38GK101763510SQ20101002307
公開日2010年6月30日 申請日期2010年1月21日 優(yōu)先權日2010年1月21日
發(fā)明者劉剛, 張楊, 錢虹 申請人:上海電力學院