Point Cloud Library (PCL) for Python - pclpy 安裝指南 (2)

Point Cloud Library (PCL) for Python - pclpy 安裝指南 (1)

  1. 導入庫

    from pclpy import pcl
    import numpy as np
    

    導入pclpy庫中的pcl模塊,用于處理點云數據。numpy庫用于處理數值數據。

  2. 讀取點云

    cloud = pcl.PointCloud.PointXYZRGB()
    pcl.io.loadPCDFile('F:\\bunny.pcd', cloud)
    
    • cloud = pcl.PointCloud.PointXYZRGB():創建一個存儲點云數據的對象,類型為PointXYZRGB,即包含顏色信息的點云。
    • pcl.io.loadPCDFile('F:\\bunny.pcd', cloud):從指定路徑加載PCD文件,并將數據存儲到cloud對象中。
  3. 打印點云信息

    print('讀取點云的點數為:', cloud.size())
    print('點云坐標為:', np.asarray(cloud.xyz))
    
    • cloud.size():獲取點云中的點數。
    • np.asarray(cloud.xyz):將點云坐標轉換為numpy數組,并打印出來。
  4. 可視化點云

    viewer = pcl.visualization.PCLVisualizer("3D Viewer")
    viewer.setBackgroundColor(0, 0, 0)
    rgb = pcl.visualization.PointCloudColorHandlerRGBField.PointXYZRGB(cloud)
    viewer.addPointCloud(cloud, rgb)
    
    • viewer = pcl.visualization.PCLVisualizer("3D Viewer"):創建一個可視化對象,窗口名為"3D Viewer"。
    • viewer.setBackgroundColor(0, 0, 0):設置窗口背景顏色為黑色。
    • rgb = pcl.visualization.PointCloudColorHandlerRGBField.PointXYZRGB(cloud):獲取點云的顏色信息。
    • viewer.addPointCloud(cloud, rgb):將點云和顏色信息添加到可視化對象中。
  5. 添加坐標系和初始化相機參數

    viewer.addCoordinateSystem(1.0)
    viewer.initCameraParameters()
    
    • viewer.addCoordinateSystem(1.0):在可視化窗口中添加一個坐標系,便于觀察點云的方向和位置。
    • viewer.initCameraParameters():初始化相機參數,使得初始視角更合理。
  6. 循環展示

    while not viewer.wasStopped():viewer.spinOnce(10)
    
    • while not viewer.wasStopped():循環檢查窗口是否被關閉。
    • viewer.spinOnce(10):更新可視化窗口,參數10表示每次循環的時間間隔(毫秒)。
  7. 完整代碼

    from pclpy import pcl
    import numpy as npdef main():cloud = pcl.PointCloud.PointXYZRGB()pcl.io.loadPCDFile('F:\\bunny.pcd', cloud)print('Number of points in the point cloud:', cloud.size())print('Point cloud coordinates:', np.asarray(cloud.xyz))viewer = pcl.visualization.PCLVisualizer("3D Viewer")viewer.setBackgroundColor(0, 0, 0)rgb = pcl.visualization.PointCloudColorHandlerRGBField.PointXYZRGB(cloud)viewer.addPointCloud(cloud, rgb)while not viewer.wasStopped():viewer.spinOnce(10)if __name__ == '__main__':main()
    

在這里插入圖片描述

  1. PCD文件

    下載PCD文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43994.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43994.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43994.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024年西安鐵一中集訓DAY1---- 雜題選講

文章目錄 牛客練習賽125 E 聯誼活動(枚舉,分討)牛客練習賽125 F 玻璃彈珠(類莫隊,離線詢問,數據結構)2024ccpc長春邀請賽 D Parallel Lines(隨機化)2024ccpc長春邀請賽 E…

STM32智能健康監測系統教程

目錄 引言環境準備智能健康監測系統基礎代碼實現:實現智能健康監測系統 4.1 數據采集模塊 4.2 數據處理與分析模塊 4.3 通信與網絡系統實現 4.4 用戶界面與數據可視化應用場景:健康監測與優化問題解決方案與優化收尾與總結 1. 引言 智能健康監測系統通…

k8s 容器環境下的鏡像如何轉換為docker 使用

在無法連接registry 的環境中,想要把 crictl 中的鏡像給docker 使用,應該怎么處理? 其實容器鏡像是通用的,crictl 和ctr 以及docker 鏡像是可以互相使用的,因為docker 在1.10版本之后遵從了OCI。所以crictl 環境下的鏡…

Android Studio 的Gradle下載慢,Gradle切換下載源

看圖 下面的文字地址因為轉義符號的問題,https后面少了一個斜杠看圖片進行補充,直接復制不知道能不能用 distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-8.7-bin.zip

浪潮服務器內存物理插槽位置

浪潮服務器內存物理插槽位置 如下圖所示

Doze和AppStandby白名單配置方法和說明

機制 配置路徑 配置案例 說明 影響機制 調試命令 Doze /platform/frameworks/base /data/etc/platform.xml allow-in-power-save 【系統應用Doze白名單配置】 Doze\Job\AppStandby\Alarm\WakeLock\Sync 查看Doze白名單:adb shell dumpsys deviceidle 添加Doze白名單…

漏洞挖掘之信息搜集(一)

本篇文章只從信息搜集的步驟整理 一、選好你要挖掘的src 這一點一定要明確,定好一個,然后下定決心一定要挖到一個高危 常見src總結: 360眾測(需要考核) 漏洞盒子(還可以,審核很慢)----基本無要求 補天:有錢,但要求高,百度收錄占比權重大于等于1或者或者谷歌權…

前端進階全棧計劃:Java基礎語法

前言 本教程旨在幫助初學者系統地掌握Java的基礎知識。我們將從Java的基本語法開始,逐步深入到面向對象編程、異常處理、多線程編程等核心概念。無論你是編程新手,還是希望夯實基礎的開發者,這份指南都將帶你走進Java的世界,打下堅…

昇思MindSpore學習筆記6-06計算機視覺--Vision Transormer圖像分類

摘要: 記錄MindSpore AI框架使用ViT模型在ImageNet圖像數據分類上進行訓練、驗證、推理的過程和方法。包括環境準備、下載數據集、數據集加載、模型解析與構建、模型訓練與推理等。 一、概念 1. ViT模型 Vision Transformer 自注意結構模型 Self-Attention Tran…

MySQL(基礎篇)

DDL (Data Definition Language) 數據定義語言,用來定義數據庫對象(數據庫,表, 字段) DML (Data Manipulation Languag) 數據操作語言,用來對數據庫表中的數據進行增刪改 DQL (Data Query Language) 數據查詢語言,用…

前綴,中綴,后綴表達式

前綴表達式 前綴表達式(也稱為波蘭式)是一種將運算符放在操作數之前的表示數學表達式的方法。在前綴表達式中,操作符出現在它們所操作的操作數之前。 例如,將中綴表達式5 3轉換為前綴表達式,可以寫成 5 3。在這個例…

9 個讓 Python 性能更高的小技巧,你掌握了嗎?

我們經常聽到 “Python 太慢了”,“Python 性能不行”這樣的觀點。但是,只要掌握一些編程技巧,就能大幅提升 Python 的運行速度。 今天就讓我們一起來看下讓 Python 性能更高的 9 個小技巧 python學習資料分享(無償)…

數據(圖像)增廣

一、數據增強 1、增加一個已有數據集,使得有更多的多樣性,比如加入不同的背景噪音、改變圖片的顏色和形狀。 2、增強數據是在線生成的 3、增強類型: (1)翻轉 (2)切割 (3&#xf…

金龍魚:只是躺槍?

中儲糧罐車運輸油罐混用事件持續發酵,食用油板塊集體躺槍。 消費者憤怒的火,怕是會讓食用油企們一點就著。 今天,我們聊聊“油”茅——金龍魚。 一邊是業內人士指出,油罐混用的現象普遍存在,另一邊是金龍魚回應稱&am…

2972.力扣每日一題7/11 Java(擊敗100%)

博客主頁:音符猶如代碼系列專欄:算法練習關注博主,后期持續更新系列文章如果有錯誤感謝請大家批評指出,及時修改感謝大家點贊👍收藏?評論? 目錄 解題思路 解題方法 時間復雜度 空間復雜度 Code 解題思路 該問…

RISC-V主要指令集介紹及規則

推薦資料 RISC-V Reader / RISC-V開放架構設計之道,適合新手閱讀。 概述 RISC-V的模塊化到底是如何實現的呢? 核心部分:RV32I,代表32位字長的整型指令集(Integer),包含了許多整型指令如load…

在C++項目中添加錄像功能:從攝像頭捕獲到視頻文件的保存

在C項目中添加錄像功能:從攝像頭捕獲到視頻文件的保存 在這篇博客中,我們將介紹如何在一個現有的C項目中添加錄像功能,具體包括如何從攝像頭捕獲圖像并將其保存為視頻文件。我們將使用OpenCV庫來處理圖像捕獲和視頻寫入。 目錄 引言準備工…

Python學習筆記35:進階篇(二十四)pygame的使用之音頻文件播放

前言 基礎模塊的知識通過這么長時間的學習已經有所了解,更加深入的話需要通過完成各種項目,在這個過程中逐漸學習,成長。 我們的下一步目標是完成python crash course中的外星人入侵項目,這是一個2D游戲項目。在這之前&#xff…

元組列表之案例

1.列表推導式 基本語法: [表達式 for語句1 if 語句1 for語句2 if語句2 ........ ] 1.零到九的平方列表 a [i*i for i in range(10)] print(a) 2.for 循環前面加if else #如果是偶數乘以2,如果是奇數直接輸出 a [i*2 if i%2 0 else i for i in ran…

什么是生成器函數?

生成器函數(Generator Function)是 JavaScript 中一種特殊的函數,它可以在執行過程中暫停并在之后恢復執行。生成器函數使用 function* 語法定義,并且內部使用 yield 表達式來暫停函數執行并返回一個值。每次調用生成器函數返回的…