专利摘要:
一種點雲文檔快速讀取方法及系統,該系統用於:創建具有多工處理能力的N條線程,將所述點雲文檔分成N段快速並行讀入並且分別存入N個陣列中;截取出每段點雲文檔中每個點對應的X、Y、Z軸的座標值;根據用戶對座標軸的選擇,進行座標軸互換;根據用戶設定將對應座標軸的座標值用設定值替換;將N條線程的所有陣列合併成一個座標陣列,並根據該座標陣列中每個點的X、Y、Z軸的座標值繪製成點雲圖片。本發明可以提高點雲文檔讀取的通用性,並且在繪製點雲圖片前處理點雲資料。
公开号:TW201314618A
申请号:TW100134737
申请日:2011-09-27
公开日:2013-04-01
发明作者:Chih-Kuang Chang;Xin-Yuan Wu;Wei Wang
申请人:Hon Hai Prec Ind Co Ltd;
IPC主号:G06T17-00
专利说明:
點雲文檔快速讀取方法及系統
本發明涉及一種文檔讀取方法及系統,尤其是涉及一種點雲文檔快速讀取方法及系統。
目前對點雲文檔的處理大多都是人工進行的,也沒有在繪製點雲前對資料進行處理,擬合時還需要旋轉、平移等操作。並且點雲文檔讀取時通用性差,只能讀取指定的儲存格式,不能讀取沒有指定分隔符號的點雲文檔。
鑒於以上內容,有必要提供一種點雲文檔快速讀取方法及系統,可以提高點雲文檔讀取的通用性,並且在繪製點雲圖片前處理點雲資料。
所述點雲文檔快速讀取方法包括:開啟步驟:獲取點雲文檔所在的路徑,並根據該路徑從計算裝置的儲存設備中讀取並打開該點雲文檔;創建步驟:獲取該計算裝置的CPU中的所有執行單元的個數N,創建具有多工處理能力的N條線程,將所述點雲文檔分成N段快速並行讀入並且分別存入N個陣列中;第一截取步驟:當一段點雲文檔中的座標值有分隔符號時,提示用戶確認該分隔符號,並在得到用戶確認的分隔符號後,以所述分隔符號為界截取出該段點雲文檔中每個點對應的X、Y、Z軸的座標值,儲存到陣列中;第二截取步驟:當一段點雲文檔中的座標值沒有分隔符號時,提示用戶確認每個點的座標值長度,並根據用戶確認的座標值長度截取該段點雲文檔中每個點的X、Y、Z軸的座標值,儲存到陣列中;旋轉步驟:根據用戶對座標軸的選擇,進行座標軸互換;替換步驟:根據用戶設定將對應座標軸的座標值用設定值替換;及繪製步驟:將N條線程的所有陣列合併成一個座標陣列,並根據該座標陣列中每個點的X、Y、Z軸的座標值繪製成點雲圖片。
所述點雲文檔快速讀取系統包括:開啟模組,用於獲取點雲文檔所在的路徑,並根據該路徑從計算裝置的儲存設備中讀取並打開該點雲文檔;創建模組,用於獲取該計算裝置的CPU中的所有執行單元的個數N,創建具有多工處理能力的N條線程,將所述點雲文檔分成N段快速並行讀入並且分別存入N個陣列中;截取模組,用於當一段點雲文檔中的座標值有分隔符號時,提示用戶確認該分隔符號,並在得到用戶確認的分隔符號後,以所述分隔符號為界截取出該段點雲文檔中每個點對應的X、Y、Z軸的座標值,儲存到陣列中;所述截取模組還用於當一段點雲文檔中的座標值沒有分隔符號時,提示用戶確認每個點的座標值長度,並根據用戶確認的座標值長度截取該段點雲文檔中每個點的X、Y、Z軸的座標值,儲存到陣列中;旋轉模組,用於根據用戶對座標軸的選擇,進行座標軸互換;替換模組,用於根據用戶設定將對應座標軸的座標值用設定值替換;及繪製模組,用於將N條線程的所有陣列合併成一個座標陣列,並根據該座標陣列中每個點的X、Y、Z軸的座標值繪製成點雲圖片。
相較於習知技術,本發明所述之點雲文檔快速讀取方法及系統,可以透過創建N條線程縮短讀取大量點雲文檔資料的時間,還可以讓用戶自定義座標值長度,以截取各個軸的座標值,適用性強;並且在繪製點雲圖片前進行座標軸互換,並將無效值替換為設定值,減少了用戶在擬合時的旋轉操作等步驟和雜點對擬合結果的影響,縮短了擬合時間,提高擬合的準確率。
參閱圖1所示,係為本發明點雲文檔快速讀取系統較佳實施方式之應用環境圖。所述點雲文檔快速讀取系統10運行於伺服器1或其他計算裝置中。所述伺服器1中還包括CPU20及儲存設備30。所述伺服器1連接於顯示設備2。
所述儲存設備30用於儲存點雲文檔及繪製後的點雲圖片等。
所述顯示設備2用於顯示繪製後的點雲圖片。
參閱圖2所示,係為本發明點雲文檔快速讀取系統較佳實施方式之功能模組圖。
所述點雲文檔快速讀取系統10包括開啟模組100、創建模組200、判斷模組300、截取模組400、旋轉模組500、替換模組600及繪製模組700。
所述開啟模組100用於獲取點雲文檔所在的路徑,並根據該路徑從儲存設備30中讀取並打開該點雲文檔。
所述創建模組200用於獲取所述CPU20中的所有執行單元的個數N,創建具有多工處理能力的N條線程,將所述點雲文檔分成N段快速並行讀入並且分別存入N個陣列中。由於讀取點雲的資料量很大,耗時長,迴圈次數多,創建N條線程便可以縮短讀取時間,提高讀取效率。
所述判斷模組300用於判斷每段點雲文檔中的座標值是否有分隔符號。所述分隔符號為除“-”、“+”、“.”及0到9以外的符號,包括空格、逗號等。所述判斷模組300以二進位讀取每段點雲文檔中的任意一行,查找是否含有除“-”、“+”、“.”及0到9以外別的符號,如果有別的符號那麼該別的符號就是分隔符號。在本實施方式中,或者每段點雲文檔中的座標值都含有分隔符號,或者每段點雲文檔中的座標值都不含分隔符號。
圖3A-3B所示係為本發明所用點雲文檔座標值之示意圖,其中圖3A所示的點雲文檔中包含分隔符號(空格),圖3B所示的點雲文檔中不包含分隔符號。
所述截取模組400用於當所述座標值有分隔符號時,提示用戶確認該分隔符號,並在得到用戶確認的分隔符號後,以所述分隔符號為界截取出每段點雲文檔中每個點對應的X、Y、Z軸的座標值,儲存到每個陣列中。
在圖3A所示的點雲文檔中,每行字串以空格為界截取出每個點對應的X、Y、Z軸的座標值。例如最後一行截取後的x=-102.9468507604,y=103.8298750264,z=-14.9906925668。
所述截取模組400還用於當所述座標值沒有分隔符號時,提示用戶確認每個點的座標值長度,並根據用戶確認的座標值長度截取每段點雲文檔中每個點的X、Y、Z軸的座標值,儲存到每個陣列中。所述截取模組400首先隨機選取一段點雲文檔,從該段點雲文檔中讀取一行字串(例如讀取整個點雲文檔的第一行字串),然後計算該行字串的長度(“-”、“+”、“.”不算在內),將字串長度除以3得到X、Y、Z軸的座標值的長度Length1,將Length1提示給用戶確認,並根據用戶確認後的長度Length2截取得到每段點雲文檔中每個點的X、Y、Z軸的座標值,將座標值儲存到每個陣列中。
在圖3B所示的點雲文檔中,以最後一行為例,字串長度為30(不算“-”和“.”),將字串長度除以3得到X、Y、Z軸的座標值的長度Length1為10,提示用戶確認後的長度Length2為10,按該長度截取時遇到“-”和“.”直接複製,不在截取的位數上累加,截取後的x=-675.9555535,y=62.61125478,z=57.17889632。
所述旋轉模組500用於根據用戶對座標軸的選擇,進行座標軸互換,以減少點雲擬合時的旋轉操作。所述旋轉模組500首先接收用戶選擇的需要互換的兩個座標軸,獲取每個陣列中每個點的座標值,然後把每個點對應該兩個座標軸的座標值互換,將互換後的座標值儲存到每個陣列中。例如圖3A中最後一行若進行X軸及Y軸互換,則變為x=103.8298750264,y=-102.9468507604,z=-14.9906925668。
所述替換模組600用於根據用戶設定將對應座標軸的座標值用設定值替換,以減少雜點對擬合結果的影響。所述替換模組600首先接收用戶輸入的需要替換的座標軸及設定值,獲取每個陣列中每個點的座標值,然後將每個點對應該座標軸的座標值替換為所述設定值,將替換後的座標值儲存到所述陣列中。
所述繪製模組700用於將N條線程的所有陣列合併成一個座標陣列,並根據該座標陣列中每個點的X、Y、Z軸的座標值繪製成點雲圖片。
參閱圖4所示,係為本發明點雲文檔快速讀取方法較佳實施方式之流程圖。
步驟S10,所述開啟模組100獲取點雲文檔所在的路徑,並根據該路徑從儲存設備30中讀取並打開該點雲文檔。
步驟S12,所述創建模組200獲取所述CPU20中的所有執行單元的個數N,創建具有多工處理能力的N條線程,將所述點雲文檔分成N段快速並行讀入並且分別存入N個陣列中。以下步驟S14-S22由N個線程同時執行,其中,每個線程處理一段點雲文檔。
步驟S14,所述判斷模組300判斷每段點雲文檔中的座標值是否有分隔符號。所述分隔符號包括空格、逗號等。所述判斷模組300以二進位讀取每段點雲文檔中的任意一行,查找是否含有除“-”、“+”、“.”及0到9以外別的符號,如果有別的符號那麼該別的符號就是分隔符號。若所述座標值有分隔符號,則執行步驟S16;若所述座標值沒有分隔符號,則執行步驟S18。在本實施方式中,或者每段點雲文檔中的座標值都含有分隔符號,或者每段點雲文檔中的座標值都不含分隔符號。
步驟S16,所述截取模組400提示用戶確認該分隔符號,並在得到用戶確認的分隔符號後,以所述分隔符號為界截取出每段點雲文檔中每個點對應的X、Y、Z軸的座標值,儲存到每個陣列中。
步驟S18,所述截取模組400提示用戶確認每個點的座標值長度,並根據用戶確認的座標值長度截取每段點雲文檔中每個點的X、Y、Z軸的座標值,儲存到每個陣列中。所述截取模組400首先隨機選取一段點雲文檔,從該段點雲文檔中讀取一行字串,然後計算該行字串的長度(“-”、“+”、“.”不算在內),將字串長度除以3得到X、Y、Z軸的座標值的長度Length1,將Length1提示給用戶確認,並根據用戶確認後的長度Length2截取得到每段點雲文檔中每個點的X、Y、Z軸的座標值,將座標值儲存到每個陣列中。
步驟S20,所述旋轉模組500根據用戶對座標軸的選擇,進行座標軸互換,以減少點雲擬合時的旋轉操作。所述旋轉模組500首先接收用戶選擇的需要互換的兩個座標軸,獲取每個陣列中每個點的座標值,然後把每個點對應該兩個座標軸的座標值互換,將互換後的座標值儲存到每個陣列中。
步驟S22,所述替換模組600根據用戶設定將對應座標軸的座標值用設定值替換,以減少雜點對擬合結果的影響。所述替換模組600首先接收用戶輸入的需要替換的座標軸及設定值,獲取每個陣列中每個點的座標值,然後將每個點對應該座標軸的座標值替換為所述設定值,將替換後的座標值儲存到每個陣列中。
步驟S24,所述繪製模組700將N條線程的所有陣列合併成一個座標陣列,並根據該座標陣列中每個點的X、Y、Z軸的座標值繪製成點雲圖片。
使用本發明點雲文檔快速讀取方法及系統,可以透過創建N條線程縮短讀取大量點雲文檔資料的時間,提高讀取效率;而且不僅可以讀取含有分隔符號的點雲文檔,還可以在點雲文檔中不含分隔符號時,讓用戶自定義座標值長度,以截取各個軸的座標值,適用性強。本發明還可以在繪製點雲圖片前進行座標軸互換,並將無效值替換為設定值,可以減少用戶在擬合時的旋轉操作等步驟,減少雜點對擬合結果的影響,縮短擬合時間,提高擬合的準確率。
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅爲本發明之較佳實施方式,本發明之範圍並不以上述實施方式爲限,舉凡熟悉本案技藝之人士援依本發明之精神所作之等效修飾或變化,皆應涵蓋於以下申請專利範圍內。
1...伺服器
2...顯示設備
10...點雲文檔快速讀取系統
20...CPU
30...儲存設備
100...開啟模組
200...創建模組
300...判斷模組
400...截取模組
500...旋轉模組
600...替換模組
700...繪製模組
圖1係為本發明點雲文檔快速讀取系統較佳實施方式之應用環境圖。
圖2係為本發明點雲文檔快速讀取系統較佳實施方式之功能模組圖。
圖3A-3B係為本發明所用點雲文檔座標值之示意圖。
圖4係為本發明點雲文檔快速讀取方法較佳實施方式之流程圖。
10...點雲文檔快速讀取系統
100...開啟模組
200...創建模組
300...判斷模組
400...截取模組
500...旋轉模組
600...替換模組
700...繪製模組
权利要求:
Claims (10)
[1] 一種點雲文檔快速讀取方法,該方法包括:開啟步驟:獲取點雲文檔所在的路徑,並根據該路徑從計算裝置的儲存設備中讀取並打開該點雲文檔;創建步驟:獲取該計算裝置的CPU中的所有執行單元的個數N,創建具有多工處理能力的N條線程,將所述點雲文檔分成N段快速並行讀入並且分別存入N個陣列中;第一截取步驟:當一段點雲文檔中的座標值有分隔符號時,提示用戶確認該分隔符號,並在得到用戶確認的分隔符號後,以所述分隔符號為界截取出該段點雲文檔中每個點對應的X、Y、Z軸的座標值,儲存到陣列中;第二截取步驟:當一段點雲文檔中的座標值沒有分隔符號時,提示用戶確認每個點的座標值長度,並根據用戶確認的座標值長度截取該段點雲文檔中每個點的X、Y、Z軸的座標值,儲存到陣列中;旋轉步驟:根據用戶對座標軸的選擇,進行座標軸互換;替換步驟:根據用戶設定將對應座標軸的座標值用設定值替換;及繪製步驟:將N條線程的所有陣列合併成一個座標陣列,並根據該座標陣列中每個點的X、Y、Z軸的座標值繪製成點雲圖片。
[2] 如申請專利範圍第1項所述之點雲文檔快速讀取方法,其中,所述第二截取步驟包括:隨機選取一段點雲文檔,從該選取的點雲文檔中讀取一行字串;計算該行字串的長度;將字串長度除以3得到X、Y、Z軸的座標值的長度Length1;將Length1提示給用戶確認;根據用戶確認後的長度Length2截取得到該段點雲文檔中每個點的X、Y、Z軸的座標值;及將座標值儲存到陣列中。
[3] 如申請專利範圍第1項所述之點雲文檔快速讀取方法,其中,所述旋轉步驟包括:接收用戶選擇的需要互換的兩個座標軸;獲取每個陣列中每個點的座標值;把每個點對應該兩個座標軸的座標值互換;及將互換後的座標值儲存到每個陣列中。
[4] 如申請專利範圍第1項所述之點雲文檔快速讀取方法,其中,所述替換步驟包括:接收用戶輸入的需要替換的座標軸及設定值;獲取每個陣列中每個點的座標值;將每個點對應該座標軸的座標值替換為所述設定值;及將替換後的座標值儲存到每個陣列中。
[5] 如申請專利範圍第1項所述之點雲文檔快速讀取方法,其中,所述分隔符號為除“-”、“+”、“.”及0到9以外別的符號。
[6] 一種點雲文檔快速讀取系統,該系統包括:開啟模組,用於獲取點雲文檔所在的路徑,並根據該路徑從計算裝置的儲存設備中讀取並打開該點雲文檔;創建模組,用於獲取該計算裝置的CPU中的所有執行單元的個數N,創建具有多工處理能力的N條線程,將所述點雲文檔分成N段快速並行讀入並且分別存入N個陣列中;截取模組,用於當一段點雲文檔中的座標值有分隔符號時,提示用戶確認該分隔符號,並在得到用戶確認的分隔符號後,以所述分隔符號為界截取出該段點雲文檔中每個點對應的X、Y、Z軸的座標值,儲存到陣列中;所述截取模組還用於當一段點雲文檔中的座標值沒有分隔符號時,提示用戶確認每個點的座標值長度,並根據用戶確認的座標值長度截取該段點雲文檔中每個點的X、Y、Z軸的座標值,儲存到陣列中;旋轉模組,用於根據用戶對座標軸的選擇,進行座標軸互換;替換模組,用於根據用戶設定將對應座標軸的座標值用設定值替換;及繪製模組,用於將N條線程的所有陣列合併成一個座標陣列,並根據該座標陣列中每個點的X、Y、Z軸的座標值繪製成點雲圖片。
[7] 如申請專利範圍第6項所述之點雲文檔快速讀取系統,其中,當一段點雲文檔中的座標值沒有分隔符號時,所述截取模組的截取過程包括:隨機選取一段點雲文檔,從該選取的點雲文檔中讀取一行字串;計算該行字串的長度;將字串長度除以3得到X、Y、Z軸的座標值的長度Length1;將Length1提示給用戶確認;根據用戶確認後的長度Length2截取得到該段點雲文檔中每個點的X、Y、Z軸的座標值;及將座標值儲存到陣列中。
[8] 如申請專利範圍第6項所述之點雲文檔快速讀取系統,其中,所述旋轉模組的旋轉過程包括:接收用戶選擇的需要互換的兩個座標軸;獲取每個陣列中每個點的座標值;把每個點對應該兩個座標軸的座標值互換;及將互換後的座標值儲存到每個陣列中。
[9] 如申請專利範圍第6項所述之點雲文檔快速讀取系統,其中,所述替換模組的替換過程包括:接收用戶輸入的需要替換的座標軸及設定值;獲取每個陣列中每個點的座標值;將每個點對應該座標軸的座標值替換為所述設定值;及將替換後的座標值儲存到每個陣列中。
[10] 如申請專利範圍第6項所述之點雲文檔快速讀取系統,其中,所述分隔符號為除“-”、“+”、“.”及0到9以外別的符號。
类似技术:
公开号 | 公开日 | 专利标题
US9674425B2|2017-06-06|Image acquisition method and apparatus
JP6804668B2|2020-12-23|ブロックデータ検証方法および装置
WO2018072413A1|2018-04-26|一种终端截屏的方法、装置及移动终端、存储介质
CN107274442A|2017-10-20|一种图像识别方法和装置
KR20130123400A|2013-11-12|장소 기반 이미지 체계화
US20140218353A1|2014-08-07|Image group processing and visualization
CN1950851A|2007-04-18|用于各向异性纹理过滤的较短印迹
KR20150034296A|2015-04-02|히트 테스트 방법 및 장치
US10459965B2|2019-10-29|Method and apparatus for displaying images
TW201312499A|2013-03-16|景深網格化
US8726185B1|2014-05-13|Method and apparatus for rendering overlapped objects
WO2015039793A1|2015-03-26|Derivation of generalized test cases
US9588791B2|2017-03-07|Flexible physical function and virtual function mapping
TWI506585B|2015-11-01|點雲文檔快速讀取方法及系統
US20080201556A1|2008-08-21|Program instruction rearrangement methods in computer
US8769498B2|2014-07-01|Warning of register and storage area assignment errors
JP2010231744A|2010-10-14|情報処理装置、プログラム及び画像データ管理方法
WO2022011898A1|2022-01-20|一种三维重建方法、装置、设备及计算机可读存储介质
JP5563545B2|2014-07-30|情報処理装置及び方法
TWI510942B|2015-12-01|量測程式輸出系統及方法
CN106406702B|2019-09-13|一种图片显示方法及装置
GB2425426A|2006-10-25|Automatic image montage generation with user modification of the generated montage
Scheres2014|Single-particle processing in RELION-1.3
WO2017071554A1|2017-05-04|一种指定平台的账号升级的方法和装置
CN109493406A|2019-03-19|快速百分比靠近软阴影绘制方法
同族专利:
公开号 | 公开日
US20130080487A1|2013-03-28|
TWI506585B|2015-11-01|
CN103020080A|2013-04-03|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JP2774653B2|1990-03-14|1998-07-09|キヤノン株式会社|文字処理装置|
JP3856531B2|1997-06-26|2006-12-13|山形カシオ株式会社|座標データ変換方法及び装置|
TW569150B|2002-04-30|2004-01-01|Hon Hai Prec Ind Co Ltd|A system and method for analyzing and processing measurement data|
TWI313420B|2003-08-20|2009-08-11|Hon Hai Prec Ind Co Ltd|A system and method for inputting point-cloud|
CN100363932C|2004-05-26|2008-01-23|鸿富锦精密工业(深圳)有限公司|点云三维处理系统及方法|
CN101067810A|2006-05-05|2007-11-07|鸿富锦精密工业(深圳)有限公司|点云格式解析系统及方法|
TWI348126B|2006-08-25|2011-09-01|Hon Hai Prec Ind Co Ltd|System and method for filtering a point cloud|
US9251207B2|2007-11-29|2016-02-02|Microsoft Technology Licensing, Llc|Partitioning and repartitioning for data parallel operations|
US20110102460A1|2009-11-04|2011-05-05|Parker Jordan|Platform for widespread augmented reality and 3d mapping|
US20110115812A1|2009-11-13|2011-05-19|Harris Corporation|Method for colorization of point cloud data based on radiometric imagery|
CN101825445B|2010-05-10|2011-11-30|华中科技大学|一种动态物体的三维测量系统|
CN102042825B|2010-11-09|2012-06-27|青岛市光电工程技术研究院|一种面阵成像与激光扫描组合的三维成像测量系统|US20190034109A1|2017-07-25|2019-01-31|General Electric Company|Data storage structure and method|
法律状态:
2017-08-01| MM4A| Annulment or lapse of patent due to non-payment of fees|
优先权:
申请号 | 申请日 | 专利标题
CN2011102865445A|CN103020080A|2011-09-23|2011-09-23|点云文件快速读取方法及系统|
[返回顶部]