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

點(diǎn)云自動修剪系統(tǒng)及方法

文檔序號:6557027閱讀:276來源:國知局
專利名稱:點(diǎn)云自動修剪系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種點(diǎn)云自動修剪系統(tǒng)及方法。
背景技術(shù)
提高和保證產(chǎn)品質(zhì)量,是企業(yè)活動中的重要內(nèi)容。為了提高和保證產(chǎn)品質(zhì)量,對產(chǎn)品實(shí)施檢驗(yàn)是必不可少的,通過檢驗(yàn)活動提供產(chǎn)品及其制造過程的質(zhì)量信息,按照這些信息對產(chǎn)品的制造過程實(shí)施控制及進(jìn)行修正和補(bǔ)償活動,使廢次品與返修品率降到最低程度,保證產(chǎn)品質(zhì)量形成過程的穩(wěn)定性及其產(chǎn)出產(chǎn)品的一致性。同時(shí),日漸增多且急迫的檢驗(yàn)需求要求企業(yè)能夠快速、準(zhǔn)確地實(shí)施產(chǎn)品的檢驗(yàn)。
早期對于受測對象的檢驗(yàn),一般采用特定的檢驗(yàn)儀器,經(jīng)人工比對后確定檢測值,如此既費(fèi)時(shí)又耗資,使生產(chǎn)周期增長,生產(chǎn)成本增加,且基于人工確定的信息,經(jīng)常包含有人的誤差的影響。近年來,隨著計(jì)算機(jī)硬件性能的提高及價(jià)格的降低,計(jì)算機(jī)在受測對象檢驗(yàn)活動中被大量的引入,因而提高了檢驗(yàn)的速度和準(zhǔn)確性。其做法一般是使用掃描機(jī)臺掃描受測對象,獲得由多個(gè)三維離散點(diǎn)組成的點(diǎn)的集合,一般稱之為點(diǎn)云,將點(diǎn)云資料匯入計(jì)算機(jī),執(zhí)行相應(yīng)軟件對點(diǎn)云資料進(jìn)行處理,比如量測點(diǎn)云,色階比對等,從而實(shí)現(xiàn)對受測對象的檢驗(yàn)。2003年11月19日公開的中國第1456975號專利發(fā)明有一種自動掃描量測數(shù)據(jù)分析處理系統(tǒng)和方法,該系統(tǒng)包括有一自動掃描量測子系統(tǒng),用于根據(jù)實(shí)體對象的點(diǎn)云數(shù)據(jù)來量測實(shí)體對象并獲得量測尺寸,該發(fā)明可自動實(shí)現(xiàn)對實(shí)體對象的量測,并將量測值與設(shè)計(jì)值進(jìn)行對比以指導(dǎo)生產(chǎn)。
但是,在實(shí)際應(yīng)用中,尚有另外的需求。目前掃描機(jī)臺掃描受測對象后獲得的點(diǎn)云大都存在重疊區(qū)域,有時(shí)還存在較多的雜點(diǎn)、干擾點(diǎn),如此會影響點(diǎn)云處理速度,以及點(diǎn)云的后續(xù)處理,如點(diǎn)云過濾、色階比對等,導(dǎo)致對受測對象的檢驗(yàn)出現(xiàn)一定的誤差。而關(guān)于修剪點(diǎn)云重疊部分的當(dāng)前技術(shù)中,都只有手動修剪而尚未有自動修剪,這樣不僅費(fèi)時(shí)費(fèi)力,而且修剪結(jié)果也不美觀。

發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種點(diǎn)云自動修剪系統(tǒng),其可自動快速地完成點(diǎn)云中重疊部分的修剪,且修剪效果較佳。
鑒于以上內(nèi)容,還有必要提供一種點(diǎn)云自動修剪方法,其可自動快速地完成點(diǎn)云中重疊部分的修剪,且修剪效果較佳。
一種點(diǎn)云自動修剪系統(tǒng),其包括應(yīng)用服務(wù)器、多個(gè)使用者端計(jì)算機(jī)及點(diǎn)云獲取裝置。所述的應(yīng)用服務(wù)器用于從上述點(diǎn)云獲取裝置中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云,并對上述點(diǎn)云進(jìn)行修剪處理以得到無重疊點(diǎn)的點(diǎn)云,其包括點(diǎn)云匯入模塊,用于從上述點(diǎn)云獲取裝置中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云,并使其在上述使用者端計(jì)算機(jī)提供的圖形處理界面中生成并且顯示上述點(diǎn)云形成的圖像;及點(diǎn)云修剪模塊,用于對上述點(diǎn)云中的重疊點(diǎn)進(jìn)行修剪。該點(diǎn)云修剪模塊包括點(diǎn)云重疊區(qū)域計(jì)算子模塊,用于計(jì)算上述各點(diǎn)云的重疊區(qū)域;重疊區(qū)域網(wǎng)格化子模塊,用于將各點(diǎn)云重疊區(qū)域網(wǎng)格分組化;及重疊點(diǎn)移除子模塊,用于修剪上述網(wǎng)格組內(nèi)的重疊點(diǎn)。
一種點(diǎn)云自動修剪方法,該方法包括以下步驟(a)從一個(gè)點(diǎn)云獲取裝置中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云,并使其在使用者端計(jì)算機(jī)提供的圖形處理界面中生成并且顯示上述點(diǎn)云形成的圖像;(b)計(jì)算各點(diǎn)云的重疊區(qū)域;(c)將上述計(jì)算出的各點(diǎn)云重疊區(qū)域部分以一定的分組數(shù)目及分組組間距進(jìn)行網(wǎng)格分組化;及(d)修剪上述各點(diǎn)云中位于所述網(wǎng)格組內(nèi)相重疊的點(diǎn),得到無重疊點(diǎn)的點(diǎn)云。。
利用本發(fā)明,可以對點(diǎn)云中的重疊點(diǎn)進(jìn)行自動修剪,從而可以為快速準(zhǔn)確的檢驗(yàn)產(chǎn)品提供保障,并減少誤差的產(chǎn)生。


圖1是本發(fā)明點(diǎn)云自動修剪系統(tǒng)較佳實(shí)施方式的硬件架構(gòu)圖。
圖2是本發(fā)明點(diǎn)云自動修剪系統(tǒng)較佳實(shí)施方式中應(yīng)用服務(wù)器的功能模塊圖。
圖3是圖2所示點(diǎn)云修剪模塊的功能子模塊圖。
圖4是本發(fā)明點(diǎn)云自動修剪方法較佳實(shí)施方式的作業(yè)流程圖。
圖5是圖4所示點(diǎn)云自動修剪方法較佳實(shí)施方式中步驟S22計(jì)算點(diǎn)云重疊區(qū)域的具體實(shí)施流程圖。
圖6是圖4所示點(diǎn)云自動修剪方法較佳實(shí)施方式中步驟S24將點(diǎn)云重疊區(qū)域網(wǎng)格分組化的具體實(shí)施流程圖。
圖7是圖4所示點(diǎn)云自動修剪方法較佳實(shí)施方式中步驟S26移除點(diǎn)云中相重疊的點(diǎn)的具體實(shí)施流程圖。
具體實(shí)施例方式
如圖1所示,是本發(fā)明點(diǎn)云自動修剪系統(tǒng)較佳實(shí)施方式的硬件架構(gòu)圖。該系統(tǒng)包括點(diǎn)云獲取裝置6、應(yīng)用服務(wù)器7、網(wǎng)絡(luò)4及多個(gè)使用者端計(jì)算機(jī)5。
其中分布式分布的多個(gè)使用者端計(jì)算機(jī)5利用網(wǎng)絡(luò)4與應(yīng)用服務(wù)器7相連,網(wǎng)絡(luò)4可以是一企業(yè)內(nèi)部網(wǎng)(Intranet),也可以是互聯(lián)網(wǎng)(Internet)或其它類型的通訊網(wǎng)絡(luò)。
點(diǎn)云獲取裝置6與應(yīng)用服務(wù)器7相連,用于獲取多次掃描同一個(gè)受測對象得到的多個(gè)點(diǎn)云數(shù)據(jù)。在本較佳實(shí)施方式中,該點(diǎn)云獲取裝置6是一個(gè)掃描測量機(jī)臺,其通過掃描同一個(gè)受測對象獲取多個(gè)點(diǎn)云數(shù)據(jù)。
應(yīng)用服務(wù)器7用于從點(diǎn)云獲取裝置6中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云數(shù)據(jù),并對上述多個(gè)點(diǎn)云的重疊部分進(jìn)行修剪處理,以獲得無重疊點(diǎn)的點(diǎn)云。
使用者端計(jì)算機(jī)5提供圖形處理界面,該圖形處理界面能夠生成并顯示應(yīng)用服務(wù)器7匯入的點(diǎn)云數(shù)據(jù)組成的圖像,并獲取及顯示對點(diǎn)云進(jìn)行修剪后的結(jié)果。
如圖2所示,是本發(fā)明點(diǎn)云自動修剪系統(tǒng)較佳實(shí)施方式中應(yīng)用服務(wù)器的功能模塊圖。應(yīng)用服務(wù)器7包括點(diǎn)云匯入模塊10、點(diǎn)云修剪模塊20及存儲模塊30。
其中,點(diǎn)云匯入模塊10用于從點(diǎn)云獲取裝置6中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云數(shù)據(jù),并使其在使用者端計(jì)算機(jī)5提供的圖形處理界面中生成并且顯示上述點(diǎn)云數(shù)據(jù)形成的圖像。
點(diǎn)云修剪模塊20用于對所匯入的同一個(gè)受測對象的多個(gè)點(diǎn)云中的重疊部分進(jìn)行修剪以獲得一個(gè)沒有重疊點(diǎn)的點(diǎn)云。通常同一個(gè)受測對象會被掃描多次,每一次掃描產(chǎn)生一個(gè)點(diǎn)云數(shù)據(jù),因而對于同一個(gè)受測對象,用戶會得到兩個(gè)或三個(gè)以上的點(diǎn)云數(shù)據(jù)。當(dāng)點(diǎn)云匯入模塊10匯入同一個(gè)受測對象的兩個(gè)點(diǎn)云數(shù)據(jù)時(shí),例如點(diǎn)云1和點(diǎn)云2,點(diǎn)云修剪模塊20以其中一個(gè)點(diǎn)云為基準(zhǔn),對另一個(gè)點(diǎn)云進(jìn)行自動修剪,以便獲得一個(gè)沒有重疊點(diǎn)的點(diǎn)云。當(dāng)點(diǎn)云匯入模塊10匯入同一個(gè)受測對象的三個(gè)以上點(diǎn)云數(shù)據(jù)時(shí),例如點(diǎn)云1、點(diǎn)云2及點(diǎn)云3時(shí),點(diǎn)云修剪模塊20對點(diǎn)云的修剪則以循環(huán)的方式進(jìn)行,例如先以點(diǎn)云1為基準(zhǔn),修剪點(diǎn)云2中與點(diǎn)云1相重疊的點(diǎn),然后再以修剪后的點(diǎn)云2為基準(zhǔn),修剪點(diǎn)云3中與修剪后的點(diǎn)云2相重疊的點(diǎn),最后再以修剪后的點(diǎn)云3為基準(zhǔn),修剪點(diǎn)云1中與修剪后的點(diǎn)云3相重疊的點(diǎn),循環(huán)結(jié)束最終得到無重疊點(diǎn)的點(diǎn)云。本較佳實(shí)施方式以同一個(gè)受測對象的兩個(gè)點(diǎn)云1和2的重疊區(qū)域的修剪為例進(jìn)行介紹,其中以點(diǎn)云1為基準(zhǔn)點(diǎn)云,對點(diǎn)云2進(jìn)行修剪。
存儲模塊30用于存儲上述經(jīng)過修剪后的無重疊點(diǎn)的點(diǎn)云。
如圖3所示,是圖2所示點(diǎn)云修剪模塊的功能子模塊圖。該點(diǎn)云修剪模塊20包括點(diǎn)云重疊區(qū)域計(jì)算子模塊210、重疊區(qū)域網(wǎng)格化子模塊211及重疊點(diǎn)移除子模塊212。
其中,點(diǎn)云重疊區(qū)域計(jì)算子模塊210用于計(jì)算點(diǎn)云1和點(diǎn)云2的最大、最小區(qū)域點(diǎn),及根據(jù)該點(diǎn)云1和點(diǎn)云2的最大、最小區(qū)域點(diǎn)計(jì)算點(diǎn)云1與點(diǎn)云2的重疊區(qū)域即點(diǎn)云1和點(diǎn)云2的交集的最大、最小區(qū)域點(diǎn)。其中,點(diǎn)云匯入模塊10匯入的每一個(gè)點(diǎn)云數(shù)據(jù)均為多個(gè)離散點(diǎn)的三維坐標(biāo),故通過比較點(diǎn)云1中的點(diǎn)云數(shù)組pPt中所有點(diǎn)坐標(biāo)的方式可求得點(diǎn)云1中的最小區(qū)域點(diǎn)ptMin1(x,y,z)的三維坐標(biāo)及最大區(qū)域點(diǎn)ptMax1(x,y,z)的三維坐標(biāo),從而確定了由上述點(diǎn)云1的最大、最小區(qū)域點(diǎn)坐標(biāo)組成的點(diǎn)云1所在的立方體區(qū)域;同理可求得點(diǎn)云2中的最小區(qū)域點(diǎn)ptMin2(x,y,z)的三維坐標(biāo)及最大區(qū)域點(diǎn)ptMax2(x,y,z)的三維坐標(biāo),從而確定了由上述點(diǎn)云2的最大、最小區(qū)域點(diǎn)坐標(biāo)組成的點(diǎn)云2所在的立方體區(qū)域。根據(jù)上述求得的點(diǎn)云1所在立方體區(qū)域與點(diǎn)云2所在立方體區(qū)域求取點(diǎn)云1和點(diǎn)云2交集的最小區(qū)域點(diǎn)坐標(biāo)及最大區(qū)域點(diǎn)坐標(biāo),從而確定點(diǎn)云1和點(diǎn)云2交集所在的立方體區(qū)域,即點(diǎn)云1與點(diǎn)云2的重疊區(qū)域部分。若上述點(diǎn)云1所在立方體區(qū)域與點(diǎn)云2所在的立方體區(qū)域交集為空,則表明點(diǎn)云1與點(diǎn)云2不重疊,不需進(jìn)行修剪。
重疊區(qū)域網(wǎng)格化子模塊211用于將上述計(jì)算出的點(diǎn)云1與點(diǎn)云2的重疊區(qū)域部分以一定的分組數(shù)目及分組組間距進(jìn)行網(wǎng)格分組化,并將基準(zhǔn)點(diǎn)云1中的位于重疊區(qū)域部分中的點(diǎn)的標(biāo)識根據(jù)其坐標(biāo)填入到網(wǎng)格相應(yīng)的組內(nèi)。其中,重疊區(qū)域網(wǎng)格化子模塊211分別計(jì)算點(diǎn)云1與點(diǎn)云2的重疊區(qū)域部分的X軸、Y軸、Z軸方向的分組數(shù)目nGX,nGY,nGZ,從而求得最大組數(shù)dTemp=nGX*nGY*nGZ,由于該最大組數(shù)是一個(gè)恒定的值,例如若dTemp=50*50*50,其在X,Y,Z三軸的數(shù)目一樣多,且若產(chǎn)品是長方體形狀,則會造成X軸內(nèi)一個(gè)組內(nèi)很多點(diǎn)而Y,Z軸大部分是空,因而此分組方法不夠優(yōu)化,故需根據(jù)上述求得的最大組數(shù)dTemp及用戶根據(jù)實(shí)際情況在程序中設(shè)定的一個(gè)組數(shù)nMaxGroup求得優(yōu)化后的分組數(shù)目nGX’,nGY’及nGZ’。根據(jù)點(diǎn)云1和點(diǎn)云2重疊區(qū)域的最大、最小區(qū)域點(diǎn)坐標(biāo)及上述計(jì)算出的各優(yōu)化分組數(shù)目計(jì)算各分組組間距。根據(jù)計(jì)算出的各優(yōu)化分組數(shù)目及各分組組間距確定一個(gè)網(wǎng)格分組化的區(qū)域。
重疊點(diǎn)移除子模塊212用于將與基準(zhǔn)點(diǎn)云1中的點(diǎn)相重疊的點(diǎn)云2中的點(diǎn)移除。其中,循環(huán)基準(zhǔn)點(diǎn)云1中的每個(gè)點(diǎn),將點(diǎn)云1中位于重疊區(qū)域外的點(diǎn)過濾掉,并將點(diǎn)云1位于點(diǎn)云重疊區(qū)域中的點(diǎn)的標(biāo)識根據(jù)其坐標(biāo)填入到網(wǎng)格的對應(yīng)組內(nèi)。循環(huán)點(diǎn)云2中的每一個(gè)點(diǎn),判斷點(diǎn)云2中的當(dāng)前點(diǎn)a是否位于點(diǎn)云1與點(diǎn)云2的重疊區(qū)域內(nèi),若當(dāng)前點(diǎn)a不位于該重疊區(qū)域內(nèi),則對該當(dāng)前點(diǎn)a不予處理,若當(dāng)前點(diǎn)a位于點(diǎn)云1與點(diǎn)云2的重疊區(qū)域內(nèi),則根據(jù)該點(diǎn)云2中當(dāng)前點(diǎn)a的坐標(biāo)分別確定其在X軸、Y軸、Z軸方向的組數(shù)nX、nY、nZ,從而確定其位于重疊區(qū)域網(wǎng)格的第(nX、nY、nZ)組內(nèi)。根據(jù)nX、nY、nZ分別求出該第(nX、nY、nZ)組的X方向前面一組nFX,X方向后面一組nPX,Y方向前面一組nFY,Y方向后面一組nPY,Z方向前面一組nFZ,Z方向后面一組nPZ。比較當(dāng)前點(diǎn)a與由nX,nFX,nPX,nY,nFY,nPY,nZ,nFZ,nPZ組成的共3*3*3=27組三維空間組中的點(diǎn)云1中的點(diǎn)之間的距離,若當(dāng)前點(diǎn)a與被比較點(diǎn)之間的距離滿足使當(dāng)前點(diǎn)a移除的條件時(shí),則將該當(dāng)前點(diǎn)a移除,所述當(dāng)前點(diǎn)a的移除條件為當(dāng)前點(diǎn)a與被比較點(diǎn)的X軸坐標(biāo)差值的平方加Y軸坐標(biāo)差值的平方加Z軸坐標(biāo)差值的平方之和小于用戶自定義公差fTo1的平方。上述比較的優(yōu)化先后順序?yàn)橄葘Ⅻc(diǎn)云2的當(dāng)前點(diǎn)a與其所在第(nX、nY、nZ)組內(nèi)點(diǎn)云1中的所有點(diǎn)之間距離進(jìn)行比較,若當(dāng)前點(diǎn)a與位于第(nX、nY、nZ)組內(nèi)的點(diǎn)云1中的任一點(diǎn)之間的距離滿足移除條件時(shí),則認(rèn)為該當(dāng)前點(diǎn)a與點(diǎn)云1中的點(diǎn)重疊,故將其移除,若當(dāng)前點(diǎn)a與第(nX、nY、nZ)組內(nèi)的點(diǎn)云1中的任一點(diǎn)都不滿足移除條件,則比較當(dāng)前點(diǎn)a與位于第(nX、nY、nZ)組的X方向前面一組(nFX、nY、nZ)、X方向后面一組(nPX、nY、nZ)、Y方向前面一組(nX、nFY、nZ)、Y方向后面一組(nX、nPY、nZ)、Z方向前面一組(nX、nY、nFZ)、Z方向后面一組(nX、nY、nPZ)等中點(diǎn)云1中的點(diǎn)之間的距離,若存在使當(dāng)前點(diǎn)a滿足移除條件的點(diǎn)云1中的點(diǎn)時(shí),則將該當(dāng)前點(diǎn)a移除;將點(diǎn)云2中的點(diǎn)按上述步驟循環(huán)一遍后就會得到點(diǎn)云1與點(diǎn)云2互不重疊的點(diǎn)云。
如圖4所示,是本發(fā)明點(diǎn)云自動修剪方法較佳實(shí)施方式的作業(yè)流程圖。本較佳實(shí)施方式以一個(gè)受測對象存在兩個(gè)點(diǎn)云即點(diǎn)云1和點(diǎn)云2為例進(jìn)行介紹,其中點(diǎn)云1為基準(zhǔn)點(diǎn)云,對點(diǎn)云2進(jìn)行修剪而得到無重疊點(diǎn)的點(diǎn)云。首先,點(diǎn)云匯入模塊10從點(diǎn)云獲取裝置6中匯入同一個(gè)受測對象的兩個(gè)點(diǎn)云即點(diǎn)云1和點(diǎn)云2,并使其在使用者端計(jì)算機(jī)5提供的圖形處理界面中生成并且顯示上述點(diǎn)云1和點(diǎn)云2形成的圖像(步驟S20)。點(diǎn)云重疊區(qū)域計(jì)算子模塊210計(jì)算點(diǎn)云1和點(diǎn)云2的最大、最小區(qū)域點(diǎn),并根據(jù)該點(diǎn)云1和點(diǎn)云2的最大、最小區(qū)域點(diǎn)計(jì)算點(diǎn)云1與點(diǎn)云2的重疊區(qū)域即點(diǎn)云1和點(diǎn)云2的交集的最大、最小區(qū)域點(diǎn)(步驟S22)。重疊區(qū)域網(wǎng)格化子模塊211將上述計(jì)算出的點(diǎn)云1與點(diǎn)云2的重疊區(qū)域部分以一定的分組數(shù)目及分組組間距進(jìn)行網(wǎng)格分組化(步驟S24)。重疊點(diǎn)移除子模塊212過濾基準(zhǔn)點(diǎn)云1中位于重疊區(qū)域以外的點(diǎn),并將基準(zhǔn)點(diǎn)云1中的位于重疊區(qū)域部分中的點(diǎn)的標(biāo)識根據(jù)其坐標(biāo)填入到網(wǎng)格相應(yīng)的組內(nèi),通過循環(huán)點(diǎn)云2中的每一個(gè)點(diǎn)并計(jì)算點(diǎn)云2中的每一個(gè)點(diǎn)與基準(zhǔn)點(diǎn)云1位于重疊區(qū)域中的被比較點(diǎn)之間的距離,然后將與點(diǎn)云1中的點(diǎn)相重疊的點(diǎn)云2中的點(diǎn)移除以得到點(diǎn)云1與點(diǎn)云2互不重疊的點(diǎn)云(步驟S26)。存儲模塊30存儲上述經(jīng)過修剪后的無重疊點(diǎn)的點(diǎn)云(步驟S28)。
如圖5所示,是圖4所示點(diǎn)云自動修剪方法較佳實(shí)施方式中步驟S22計(jì)算點(diǎn)云的重疊區(qū)域的具體實(shí)施流程圖。因點(diǎn)云匯入模塊10匯入的點(diǎn)云數(shù)據(jù)均為多個(gè)離散點(diǎn)的三維坐標(biāo),故點(diǎn)云重疊區(qū)域計(jì)算子模塊210通過比較點(diǎn)云1中的點(diǎn)云數(shù)組pPt中所有點(diǎn)坐標(biāo)的方式可求得點(diǎn)云1中的最小區(qū)域點(diǎn)ptMin1的三維坐標(biāo)(ptMin1.x,ptMin1.y,ptMin1.z)及最大區(qū)域點(diǎn)ptMax1的三維坐標(biāo)(ptMax1.x,ptMax1.y,ptMax1.z),從而確定了由(ptMin1.x,ptMin1.y,ptMin1.z)、(ptMin1.x,ptMin1.y,ptMax1.z)、(ptMin1.x,ptMax 1.y,ptMin1.z)、(ptMin1.x,ptMax1.y,ptMax1.z)、(ptMax1.x,ptMax1.y,ptMax1.z)、(ptMax1.x,ptMax1.y,ptMin1.z)、(ptMax1.x,ptMin1.y,ptMax1.z)、(ptMax1.x,ptMin1.y,ptMin1.z)組成的點(diǎn)云1所在立方體區(qū)域,同理可求得點(diǎn)云2中的最小區(qū)域點(diǎn)ptMin2的三維坐標(biāo)(ptMin2.x,ptMin2.y,ptMin2.z)及最大區(qū)域點(diǎn)ptMax2的三維坐標(biāo)(ptMax2.x,ptMax2.y,ptMax2.z),從而確定了由(ptMin2.x,ptMin2.y,ptMin2.z)、(ptMin2.x,ptMin2.y,ptMax2.z)、(ptMin2.x,ptMax2.y,ptMin2.z)、(ptMin2.x,ptMax2.y,ptMax2.z)、(ptMax2.x,ptMax2.y,ptMax2.z)、(ptMax2.x,ptMax2.y,ptMin2.z)、(ptMax2.x,ptMin2.y,ptMax2.z)、(ptMax2.x,ptMin2.y,ptMin2.z)組成的點(diǎn)云2所在立方體區(qū)域(步驟S220)。根據(jù)上述點(diǎn)云1所在立方體區(qū)域與點(diǎn)云2所在的立方體區(qū)域求取上述點(diǎn)云1與點(diǎn)云2的交集的最小區(qū)域點(diǎn)坐標(biāo)(fMinB
,fMinB[1],fMinB[2])及最大區(qū)域點(diǎn)坐標(biāo)(fMaxB
,fMaxB[1],fMaxB[2])。其中fMinB
的求取過程如下將ptMin1.x與ptMin2.x進(jìn)行比較,若ptMin1.x小于ptMin2.x,則fMinB
=ptMin2.x-fTo1,否則fMinB
=ptMin1.x-fTo1,fTo1為用戶自定義公差,同理fMinB[1]及fMinB[2]也可求得。fMaxB
的求取過程如下將ptMax1.x與ptMax2.x進(jìn)行比較,若ptMax1.x大于ptMax2.x,則fMaxB
=ptMax2.x+fTo1,否則fMaxB
=ptMax1.x+fTo1,同理fMaxB[1]與fMaxB[2]也可求得(步驟S222)。判斷上述點(diǎn)云1所在立方體區(qū)域與點(diǎn)云2所在的立方體區(qū)域的交集否為空(步驟S224)。若為空,即若fMinB
>=fMaxB
、fMinB[1]>=fMaxB[1]或fMinB[2]>=fMaxB2]中有一種情況發(fā)生時(shí),則表明點(diǎn)云1與點(diǎn)云2的交集為空,則程序結(jié)束。若上述點(diǎn)云1所在立方體區(qū)域與點(diǎn)云2所在的立方體區(qū)域的交集不為空,則根據(jù)上述計(jì)算出的交集最小區(qū)域點(diǎn)坐標(biāo)(fMinB
,fMinB[1],fMinB[2])及最大區(qū)域點(diǎn)坐標(biāo)(fMaxB
,fMaxB[1],fMaxB[2])確定一個(gè)交集立方體區(qū)域,即點(diǎn)云1與點(diǎn)云2的重疊區(qū)域部分(步驟S226)。
如圖6所示,是圖4所示點(diǎn)云自動修剪方法較佳實(shí)施方式中步驟S24將點(diǎn)云重疊區(qū)域網(wǎng)格分組化的具體實(shí)施流程圖。重疊區(qū)域網(wǎng)格化子模塊211分別計(jì)算點(diǎn)云1與點(diǎn)云2的重疊區(qū)域部分的X軸、Y軸、Z軸方向的分組數(shù)目,例如X軸的分組數(shù)目nGX就等于fMaxB
與fMinB
的差值除以公差fTo1,同理Y軸的分組數(shù)目nGY與Z軸的分組數(shù)目nGZ也可求出(步驟S240)。根據(jù)上述各分組數(shù)目可求得最大組數(shù)dTemp=nGX*nGY*nGZ,由于該最大數(shù)組是一個(gè)恒定的值,例如若dTemp=50*50*50,其在X,Y,Z三軸的數(shù)目一樣多,且若產(chǎn)品是長方體形狀,則會造成X軸內(nèi)一個(gè)組內(nèi)很多點(diǎn)而Y,Z軸大部分是空,因而此分組方法不夠優(yōu)化,故需優(yōu)化分組數(shù)目,分組數(shù)目的優(yōu)化方法如下由于用戶根據(jù)實(shí)際情況在程序中已設(shè)定一個(gè)組數(shù)nMaxGroup,利用公式dTempn=nMaxGroup,]]>求得n,然后計(jì)算出系數(shù)因數(shù)fK=dTempnMaxGroupn,]]>最后求得優(yōu)化后的分組數(shù)目nGX’=nGX/fK,nGY’=nGY/fK及nGZ’=nGZ/fK(步驟S242)。根據(jù)重疊區(qū)域的最大、最小區(qū)域點(diǎn)坐標(biāo)及優(yōu)化后的分組數(shù)目分別計(jì)算各分組組間距fStepX,fStepY及fStepZ,其中fStepX=(fMaxB
-fMinB
)/nGX’*1.001,fStepY=(fMaxB[1]-fMinB[1])/nGY’*1.001,fStepZ=(fMaxB[2]-fMinB[2])/nGZ’*1.001(步驟S244)。根據(jù)上述計(jì)算出的各優(yōu)化分組數(shù)目及各分組組間距將重疊區(qū)域網(wǎng)格分組化(步驟S246)。
如圖7所示,是圖4所示點(diǎn)云自動修剪方法較佳實(shí)施方式中步驟S26移除點(diǎn)云中相重疊的點(diǎn)的具體實(shí)施流程圖。重疊點(diǎn)移除子模塊212循環(huán)基準(zhǔn)點(diǎn)云1中的每個(gè)點(diǎn),將點(diǎn)云1中位于重疊區(qū)域外的點(diǎn)過濾掉,并將點(diǎn)云1中位于點(diǎn)云重疊區(qū)域中的點(diǎn)的標(biāo)識根據(jù)其坐標(biāo)填入到網(wǎng)格的對應(yīng)組內(nèi)(步驟S260)。重疊點(diǎn)移除子模塊212循環(huán)點(diǎn)云2中的每一個(gè)點(diǎn),判斷點(diǎn)云2中的當(dāng)前點(diǎn)a是否位于點(diǎn)云1與點(diǎn)云2的重疊區(qū)域內(nèi),若當(dāng)前點(diǎn)a不位于該重疊區(qū)域內(nèi),則對該當(dāng)前點(diǎn)a不予處理,若當(dāng)前點(diǎn)a位于點(diǎn)云1與點(diǎn)云2的重疊區(qū)域內(nèi),則根據(jù)該點(diǎn)云2中當(dāng)前點(diǎn)a的坐標(biāo)分別確定其在X軸、Y軸、Z軸方向的組數(shù)nX、nY、nZ,從而確定其位于重疊區(qū)域網(wǎng)格的第(nX、nY、nZ)組內(nèi),其中nX=(fPt
-fMinB
)/fStepX,nY=(fPt[1]-fMinB[1])/fStepY,nZ=(fPt[2]-fMinB[2])/fStepZ,上述fPt
、fPt[1]、fPt[2]為點(diǎn)云2中當(dāng)前點(diǎn)a的三維坐標(biāo)(步驟S262)。根據(jù)該當(dāng)前點(diǎn)a所在網(wǎng)格的第(nX、nY、nZ)組求取該當(dāng)前點(diǎn)a的空間四周待比較點(diǎn)所在的網(wǎng)格組數(shù),即該第(nX、nY、nZ)組的X方向前面一組nFX,X方向后面一組nPX,Y方向前面一組nFY,Y方向后面一組nPY,Z方向前面一組nFZ,Z方向后面一組nPZ,其中nFX計(jì)算過程如下若nX>0,則nFX=nX-1,否則nFX=0,nFY,nFZ求取方法與nFX相同,nPX的計(jì)算過程如下若nX<nGX-1,則nPX=nX+1,否則nPX=nGX-1,nPY,nPZ的求取方法與nPX相同(步驟S264)。將該當(dāng)前點(diǎn)a與待比較點(diǎn)進(jìn)行距離計(jì)算,即比較當(dāng)前點(diǎn)a與由nX,nFX,nPX,nY,nFY,nPY,nZ,nFZ,nPZ組成的共3*3*3=27組三維空間組中的點(diǎn)云1中的點(diǎn)之間的距離,若當(dāng)前點(diǎn)a與被比較點(diǎn)之間的距離滿足使當(dāng)前點(diǎn)a移除的條件時(shí),則將該當(dāng)前點(diǎn)a移除,所述當(dāng)前點(diǎn)a的移除條件為當(dāng)前點(diǎn)a與被比較點(diǎn)的X軸坐標(biāo)差值的平方加Y軸坐標(biāo)差值的平方加Z軸坐標(biāo)差值的平方之和小于用戶自定義公差fTo1的平方(步驟S266)。上述比較的優(yōu)化先后順序?yàn)橄葘Ⅻc(diǎn)云2的當(dāng)前點(diǎn)a與其所在第(nX、nY、nZ)組內(nèi)點(diǎn)云1中的所有點(diǎn)之間距離進(jìn)行比較,若當(dāng)前點(diǎn)a與位于第(nX、nY、nZ)組內(nèi)的點(diǎn)云1中的任一點(diǎn)之間的距離滿足移除條件時(shí),則認(rèn)為該當(dāng)前點(diǎn)a與點(diǎn)云1中的點(diǎn)重疊,故將其移除,若當(dāng)前點(diǎn)a與第(nX、nY、nZ)組內(nèi)的點(diǎn)云1中的任一點(diǎn)都不滿足移除條件,則比較當(dāng)前點(diǎn)a與位于第(nX、nY、nZ)組的X方向前面一組(nFX、nY、nZ)、X方向后面一組(nPX、nY、nZ)、Y方向前面一組(nX、nFY、nZ)、Y方向后面一組(nX、nPY、nZ)、Z方向前面一組(nX、nY、nFZ)、Z方向后面一組(nX、nY、nPZ)等中點(diǎn)云1中的點(diǎn)之間的距離,若存在使當(dāng)前點(diǎn)a滿足移除條件的點(diǎn)云1中的點(diǎn)時(shí),則將該當(dāng)前點(diǎn)a移除(步驟S268)。將點(diǎn)云2中的點(diǎn)按上述步驟循環(huán)一遍后就會得到點(diǎn)云1與點(diǎn)云2互不重疊的點(diǎn)云(步驟S270)。
所述點(diǎn)云自動修剪方法還適用于一個(gè)受測對象存在三個(gè)以上的點(diǎn)云的重疊區(qū)域的修剪,其是采用循環(huán)的方式,以兩個(gè)點(diǎn)云為步長進(jìn)行修剪,每兩個(gè)點(diǎn)云之間的修剪步驟均同較佳實(shí)施方式所述,例如若一個(gè)受測對象存在三個(gè)點(diǎn)云即點(diǎn)云1,點(diǎn)云2和點(diǎn)云3,則可以點(diǎn)云1為基準(zhǔn),修剪點(diǎn)云2中與點(diǎn)云1相重疊的點(diǎn),然后以修剪后的點(diǎn)云2為基準(zhǔn),修剪點(diǎn)云3中與修剪后的點(diǎn)云2相重疊的點(diǎn),最后再以修剪后的點(diǎn)云3為基準(zhǔn),修剪點(diǎn)云1中與修剪后的點(diǎn)云3相重疊的點(diǎn)。
本發(fā)明所提供的點(diǎn)云自動修剪系統(tǒng)及方法所有的修剪步驟均可自動記錄在應(yīng)用服務(wù)器7中,因此對于批量產(chǎn)品點(diǎn)云的修剪而言,可直接調(diào)用上述記錄全自動修剪,速度極為快捷,此外,本發(fā)明還適用于單個(gè)點(diǎn)云中存在的雜點(diǎn)、干擾點(diǎn)的修剪去除等。
權(quán)利要求
1.一種點(diǎn)云自動修剪系統(tǒng),其包括應(yīng)用服務(wù)器、使用者端計(jì)算機(jī)及點(diǎn)云獲取裝置,其特征在于所述的應(yīng)用服務(wù)器用于從上述點(diǎn)云獲取裝置中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云,并對上述點(diǎn)云進(jìn)行修剪處理以得到無重疊點(diǎn)的點(diǎn)云,其包括點(diǎn)云匯入模塊,用于從上述點(diǎn)云獲取裝置中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云,并使其在上述使用者端計(jì)算機(jī)提供的圖形處理界面中生成并且顯示上述點(diǎn)云形成的圖像;及點(diǎn)云修剪模塊,用于對上述點(diǎn)云中的重疊點(diǎn)進(jìn)行修剪,其包括點(diǎn)云重疊區(qū)域計(jì)算子模塊,用于計(jì)算上述各點(diǎn)云的重疊區(qū)域;重疊區(qū)域網(wǎng)格化子模塊,用于將各點(diǎn)云重疊區(qū)域網(wǎng)格分組化;及重疊點(diǎn)移除子模塊,用于修剪上述網(wǎng)格組內(nèi)的重疊點(diǎn)。
2.如權(quán)利要求1所述的點(diǎn)云自動修剪系統(tǒng),其特征在于,所述計(jì)算各點(diǎn)云重疊區(qū)域是指計(jì)算受測對象的各點(diǎn)云的最大、最小區(qū)域點(diǎn),及根據(jù)計(jì)算出的各點(diǎn)云的最大、最小區(qū)域點(diǎn)計(jì)算各點(diǎn)云之間交集的最大、最小區(qū)域點(diǎn)以確定各點(diǎn)云的重疊區(qū)域部分。
3.如權(quán)利要求1所述的點(diǎn)云自動修剪系統(tǒng),其特征在于,所述網(wǎng)格分組化是指將上述計(jì)算出的各點(diǎn)云重疊區(qū)域部分以一定的分組數(shù)目及分組組間距進(jìn)行網(wǎng)格分組。
4.如權(quán)利要求1所述的點(diǎn)云自動修剪系統(tǒng),其特征在于,所述修剪網(wǎng)格組內(nèi)的重疊點(diǎn)是指將受測對象的多個(gè)點(diǎn)云中位于上述網(wǎng)格組內(nèi)相重疊的點(diǎn)移除以得到無重疊點(diǎn)的點(diǎn)云。
5.如權(quán)利要求4所述的點(diǎn)云自動修剪系統(tǒng),其特征在于,所述應(yīng)用服務(wù)器還包括存儲模塊,用于存儲上述經(jīng)過修剪的無重疊點(diǎn)的點(diǎn)云。
6.一種點(diǎn)云自動修剪方法,其特征在于,其包括如下步驟從一個(gè)點(diǎn)云獲取裝置中匯入同一個(gè)受測對象的多個(gè)點(diǎn)云,并使其在使用者端計(jì)算機(jī)提供的圖形處理界面中生成并且顯示上述多個(gè)點(diǎn)云形成的圖像;計(jì)算上述各點(diǎn)云的重疊區(qū)域;將上述各點(diǎn)云重疊區(qū)域部分以一定的分組數(shù)目及分組組間距進(jìn)行網(wǎng)格分組化;及修剪上述各點(diǎn)云中位于所述網(wǎng)格組內(nèi)相重疊的點(diǎn),得到無重疊點(diǎn)的點(diǎn)云。
7.如權(quán)利要求6所述的點(diǎn)云自動修剪方法,其特征在于,該方法還包括如下步驟存儲上述修剪后的無重疊點(diǎn)的點(diǎn)云。
8.如權(quán)利要求6所述的點(diǎn)云自動修剪方法,其特征在于,所述計(jì)算上述各點(diǎn)云的重疊區(qū)域的步驟包括計(jì)算受測對象的各點(diǎn)云的最大、最小區(qū)域點(diǎn);根據(jù)計(jì)算出的各點(diǎn)云的最大、最小區(qū)域點(diǎn)計(jì)算各點(diǎn)云之間交集的最大、最小區(qū)域點(diǎn);及根據(jù)交集的最大、最小區(qū)域點(diǎn)確定各點(diǎn)云的重疊區(qū)域部分。
9.如權(quán)利要求6所述的點(diǎn)云自動修剪方法,其特征在于,所述網(wǎng)格分組化的步驟包括分別計(jì)算各點(diǎn)云重疊區(qū)域的X軸、Y軸、Z軸方向的分組數(shù);分別計(jì)算上述X軸、Y軸、Z軸方向的分組組間距;及根據(jù)上述計(jì)算出的分組數(shù)及分組組間距將各點(diǎn)云重疊區(qū)域部分進(jìn)行網(wǎng)格分組。
10.如權(quán)利要求6所述的點(diǎn)云自動修剪方法,其特征在于,所述修剪重疊點(diǎn)的步驟包括當(dāng)匯入同一受測對象的兩個(gè)點(diǎn)云時(shí),以其中一個(gè)點(diǎn)云為基準(zhǔn)修剪另一個(gè)點(diǎn)云;及當(dāng)匯入同一受測對象的三個(gè)以上點(diǎn)云時(shí),以第一個(gè)點(diǎn)云為基準(zhǔn)修剪第二個(gè)點(diǎn)云,以修剪后的第二個(gè)點(diǎn)云為基準(zhǔn)修剪第三個(gè)點(diǎn)云,依次類推,直至以修剪后的最后一個(gè)點(diǎn)云為基準(zhǔn)修剪第一個(gè)點(diǎn)云。
11.如權(quán)利要求10所述的點(diǎn)云自動修剪方法,其特征在于,所述修剪重疊點(diǎn)的步驟還包括將基準(zhǔn)點(diǎn)云中不在重疊區(qū)域中的點(diǎn)過濾掉,并將基準(zhǔn)點(diǎn)云中的在重疊區(qū)域中的點(diǎn)根據(jù)其標(biāo)識填入相應(yīng)的網(wǎng)格組內(nèi);比較被修剪點(diǎn)云中的當(dāng)前點(diǎn)與重疊區(qū)域網(wǎng)格組內(nèi)的基準(zhǔn)點(diǎn)云中的各個(gè)點(diǎn)之間距離以判斷是否符合移除條件,該移除條件是指該當(dāng)前點(diǎn)與被比較點(diǎn)的X軸坐標(biāo)差值的平方加Y軸坐標(biāo)差值的平方加Z軸坐標(biāo)差值的平方之和小于用戶自定義公差的平方;及若被修剪點(diǎn)云中的當(dāng)前點(diǎn)符合移除條件,則將其移除。
全文摘要
本發(fā)明提供一種點(diǎn)云自動修剪系統(tǒng),其包括應(yīng)用服務(wù)器、多個(gè)使用者端計(jì)算機(jī)及點(diǎn)云獲取裝置。該應(yīng)用服務(wù)器包括點(diǎn)云匯入模塊、點(diǎn)云修剪模塊及存儲模塊。上述點(diǎn)云修剪模塊包括點(diǎn)云重疊區(qū)域計(jì)算子模塊、重疊區(qū)域網(wǎng)格化子模塊及重疊點(diǎn)移除子模塊。本發(fā)明還提供一種點(diǎn)云自動修剪方法,其包括如下步驟匯入點(diǎn)云;計(jì)算點(diǎn)云的重疊區(qū)域;將點(diǎn)云重疊區(qū)域網(wǎng)格分組化;移除點(diǎn)云中相重疊的點(diǎn),得到無重疊點(diǎn)的點(diǎn)云;及存儲無重疊點(diǎn)的點(diǎn)云。利用本發(fā)明所提供的點(diǎn)云自動修剪系統(tǒng)及方法,可自動快速地完成點(diǎn)云中重疊部分的修剪,且修剪效果較佳。
文檔編號G06T5/00GK101063967SQ200610060508
公開日2007年10月31日 申請日期2006年4月28日 優(yōu)先權(quán)日2006年4月28日
發(fā)明者張旨光, 吳新元 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1