PCL繪制點云+法線

?讀取的點云ASCII碼文件,每行6個數據,3維坐標+3維法向

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <pcl/point_types.h>
#include <pcl/point_cloud.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/io.h>typedef pcl::PointXYZRGBNormal PointT;  // 使用包含法向量的點類型int main(int argc, char** argv) {//if (argc != 2) {//    std::cerr << "Usage: " << argv[0] << " <input_txt_file>" << std::endl;//    return -1;//}// 1. 創建點云對象pcl::PointCloud<PointT>::Ptr cloud(new pcl::PointCloud<PointT>);// 2. 打開并讀取TXT文件std::ifstream file("E:\\Data\\pn.txt");if (!file.is_open()) {std::cerr << "Error opening file: " << argv[1] << std::endl;return -1;}std::string line;while (std::getline(file, line)) {if (line.empty()) continue;std::istringstream iss(line);PointT point;// 讀取坐標 (x,y,z) 和法向量 (nx,ny,nz)if (!(iss >> point.x >> point.y >> point.z>> point.normal_x >> point.normal_y >> point.normal_z)) {std::cerr << "Error parsing line: " << line << std::endl;continue;}// 設置點的顏色(可選)point.r = 255;  // 紅色point.g = 255;  // 綠色point.b = 255;  // 白色cloud->push_back(point);}file.close();// 3. 設置點云屬性cloud->width = cloud->size();cloud->height = 1;cloud->is_dense = false;//std::cout << "Loaded " << cloud->size() << " points from " << argv[1] << std::endl;// 4. 可視化點云和法向量pcl::visualization::PCLVisualizer viewer("Point Cloud Viewer");// 添加點云viewer.addPointCloud<PointT>(cloud, "cloud");// 添加法向量(每10個點顯示一個法向量,避免過于密集)viewer.addPointCloudNormals<PointT>(cloud, 2, 1.0, "normals");// 設置背景色viewer.setBackgroundColor(0.1, 0.1, 0.1);// 設置點云顏色屬性viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "cloud");// 設置法線繪制的顏色屬性viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR,1.0, 0.0, 0.0,  // RGB值 (1.0,0.0,0.0)表示紅色"normals");// 5. 主循環while (!viewer.wasStopped()) {viewer.spinOnce(100);}return 0;
}

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

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

相關文章

如何在學習通快速輸入答案(網頁版),其他學習平臺通用,手機上快速粘貼

目錄 1、網頁版&#xff08;全平臺通用&#xff09; 2、手機版&#xff08;學習通&#xff0c;其他平臺有可能使用&#xff09; 1、網頁版&#xff08;全平臺通用&#xff09; 1、首先CtrlC復制好答案 2、在學習通的作業里輸入1 3、對準1&#xff0c;然后鼠標右鍵 &#xff…

002 六自由度舵機機械臂——姿態解算理論

00 DH模型的核心概念 【全程干貨【六軸機械臂正逆解計算及仿真示例】】 如何實現機械臂的逆解計算-機器譜-robotway DH模型是機器人運動學建模的基礎方法&#xff0c;通過??四個參數??描述相鄰關節坐標系之間的變換關系。其核心思想是將復雜的空間位姿轉換分解為繞軸旋轉…

pymongo功能整理與基礎操作類

以下是 Python 與 PyMongo 的完整功能整理&#xff0c;涵蓋基礎操作、高級功能、性能優化及常見應用場景&#xff1a; 1. 安裝與連接 (1) 安裝 PyMongo pip install pymongo(2) 連接 MongoDB from pymongo import MongoClient# 基礎連接&#xff08;默認本地&#xff0c;端口…

Trae+DeepSeek學習Python開發MVC框架程序筆記(四):使用sqlite存儲查詢并驗證用戶名和密碼

繼續通過Trae向DeepSeek發問并修改程序&#xff0c;實現程序運行時生成數據庫&#xff0c;用戶在系統登錄頁面輸入用戶名和密碼后&#xff0c;控制器通過模型查詢用戶數據庫表來驗證用戶名和密碼&#xff0c;驗證通過后顯示登錄成功頁面&#xff0c;驗證失敗則顯示登錄失敗頁面…

如何識別金融欺詐行為并進行分析預警

金融行業以其高效便捷的服務深刻改變了人們的生活方式。然而,伴隨技術進步而來的,是金融欺詐行為的日益猖獗。從信用卡盜刷到復雜的龐氏騙局,再到網絡釣魚和洗錢活動,金融欺詐的形式層出不窮,其規模和影響也在不斷擴大。根據全球反欺詐組織(ACFE)的最新報告,僅2022年,…

紛析云:開源財務管理軟件的創新與價值

在企業數字化轉型中&#xff0c;紛析云作為一款優秀的開源財務管理軟件&#xff0c;正為企業財務管理帶來新變革&#xff0c;以下是其核心要點。 一、產品概述與技術架構 紛析云采用微服務架構&#xff0c;功能組件高內聚低耦合&#xff0c;可靈活擴展和定制。前端基于現代框…

蛋白質大語言模型ESM介紹

ESM(Evolutionary Scale Modeling)是 Meta AI Research 團隊開發的一系列用于蛋白質的預訓練語言模型。這些模型在蛋白質結構預測、功能預測和蛋白質設計等領域展現出了強大的能力。以下是對 ESM 的詳細介紹: 核心特點 大規模預訓練:基于大規模蛋白質序列數據進行無監督學…

OpenCv高階(七)——圖像拼接

目錄 一、圖像拼接的原理過程 1. 特征檢測與描述&#xff08;Feature Detection & Description&#xff09; 2. 特征匹配&#xff08;Feature Matching&#xff09; 3. 圖像配準&#xff08;Image Registration&#xff09; 4. 圖像變換與投影&#xff08;Warping&…

Native層Trace監控性能

一、基礎實現方法 1.1 頭文件引用 #include <utils/Trace.h> // 基礎版本 #include <cutils/trace.h> // 兼容舊版本1.2 核心宏定義 // 區間追蹤&#xff08;推薦&#xff09; ATRACE_BEGIN("TraceTag"); ...被監控代碼... ATRACE_END();// 函數級自…

金融行業微服務架構設計與挑戰 - Java架構師面試實戰

金融行業微服務架構設計與挑戰 - Java架構師面試實戰 本文通過模擬一位擁有十年Java研發經驗的資深架構師馬架構與面試官之間的對話&#xff0c;深入探討了金融行業項目在微服務架構下的技術挑戰與解決方案。 第一輪提問 面試官&#xff1a; 馬架構&#xff0c;請介紹一下您…

服務器虛擬化:技術解析與實踐指南

在信息技術飛速發展的今天,企業對服務器資源的需求日益增長,傳統物理服務器存在資源利用率低、部署周期長、管理成本高等問題。服務器虛擬化技術應運而生,它通過將物理服務器的計算、存儲、網絡等資源進行抽象和整合,劃分成多個相互隔離的虛擬服務器,從而提高資源利用率、…

OpenCV 圖形API(54)顏色空間轉換-----將圖像從 RGB 色彩空間轉換到 HSV色彩空間RGB2HSV()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 將圖像從 RGB 色彩空間轉換為 HSV。該函數將輸入圖像從 RGB 色彩空間轉換到 HSV。R、G 和 B 通道值的常規范圍是 0 到 255。 輸出圖像必須是 8 位…

Spring Boot的優點:賦能現代Java開發的利器

Spring Boot 是基于 Spring 框架的快速開發框架&#xff0c;自 2014 年發布以來&#xff0c;憑借其簡潔性、靈活性和強大的生態系統&#xff0c;成為 Java 后端開發的首選工具。尤其在 2025 年&#xff0c;隨著微服務、云原生和 DevOps 的普及&#xff0c;Spring Boot 的優勢更…

基于強化學習的智能交通控制系統設計

標題:基于強化學習的智能交通控制系統設計 內容:1.摘要 隨著城市交通流量的不斷增長&#xff0c;傳統交通控制方法在應對復雜多變的交通狀況時逐漸顯現出局限性。本文旨在設計一種基于強化學習的智能交通控制系統&#xff0c;以提高交通運行效率、減少擁堵。通過構建強化學習模…

數據挖掘技術與應用課程論文——數據挖掘中的聚類分析方法及其應用研究

數據挖掘中的聚類分析方法及其應用研究 摘要 聚類分析是數據挖掘技術中的一個重要組成部分,它通過將數據集中的對象劃分為多個組或簇,使得同一簇內的對象具有較高的相似性,而不同簇之間的對象具有較低的相似性。 本文系統地研究了數據挖掘中的多種聚類分析方法及其應用。首先…

Java基礎語法10分鐘速成

Java基礎語法10分鐘速成&#xff0c;記筆記版 JDKhello world變量字符串 類&#xff0c;繼承&#xff0c;多態&#xff0c;重載 JDK JDK即Java development key&#xff0c;Java環境依賴包 在jdk中 編譯器javac將代碼的Java源文件編譯為字節碼文件&#xff08;.class&#xff…

在WSL2+Ubuntu22.04中通過conda pack導出一個conda環境包,然后嘗試導入該環境包

如何導出一個離線conda環境&#xff1f;有兩種方式&#xff0c;一種是導出env.yml即環境配置&#xff0c;一種是通過conda pack導出為一個環境包&#xff0c;前者只是導出配置&#xff08;包括包名、版本等&#xff09;&#xff0c;而后者是直接將環境中所有的內容打包&#xf…

盈達科技:登頂GEO優化全球制高點,以AICC定義AI時代內容智能優化新標桿

一、技術制高點——全球獨創AICC系統架構&#xff0c;構建AI內容優化新范式 作為全球首個實現AI內容全鏈路優化的技術供應商&#xff0c;盈達科技憑借AICC智能協同中心&#xff08;自適應內容改造、智能數據投喂、認知權重博弈、風險動態響應四大引擎&#xff09;&#…

設計看似完美卻測不過? Intra-Pair Skew 是「訊號完整性(Signal Integrity)」里最隱形的殺手

各位不知道有沒有遇過&#xff0c;一對很長的差分走線&#xff0c;看起來很正常&#xff0c;但是測試結果偶爾會fail偶爾會pass&#xff0c;不像是軟件問題&#xff0c;也不像是制程問題。 看了一下Layout&#xff0c;發現阻抗匹配控制的非常好&#xff0c;TDR測試也顯示阻抗好…

介紹常用的退燒與消炎藥

每年春夏交替之季&#xff0c;是感冒發燒、咳嗽、咽喉腫痛、支氣管炎、扁桃體炎的高發期。在家里或公司&#xff0c;常備幾種預防感冒發燒、咳嗽、流鼻涕、咽喉發炎的藥品&#xff0c;是非常必要的。下面介紹幾款效果非常明顯的中成藥、西藥&#xff0c;具體如下。 1 蓮芝消炎…