【編程實踐】利用open3d生成物體的最長邊方向并可視化

1 利用3d軟件生成一個長方體

邊長隨意,長度隨意

2 導出為模型文件并采樣為點云數據

從mesh表面進行采樣,點數根據自己需求進行設置,此處設置為100000。
在這里插入圖片描述
采樣結果:
在這里插入圖片描述

3 識別OBB外接框并可視化長邊方向

import numpy as np
import open3d as o3d
def get_obb_longest_edge_direction(obb):"""計算長邊方向"""# 獲取OBB的旋轉矩陣R = obb.R# 獲取OBB的擴展長度extent = obb.extent# 計算長邊索引longest_edge_index = np.argmax(extent)# 計算長邊方向向量longest_edge_direction = R[:, longest_edge_index]return longest_edge_directiondef create_line_set_of_OBBLongdir(start_point, end_point):# 創建兩個點points = [start_point, end_point]# 創建一條線段lines = [[0, 1]]# 創建lineset對象line_set = o3d.geometry.LineSet(points = o3d.utility.Vector3dVector(points), lines = o3d.utility.Vector2iVector(lines))# 設置線段顏色line_set.colors = o3d.utility.Vector3dVector([[0, 1, 0]])return line_setdef main():# 1. 讀取點云數據file_path = "cahngfangti-Mesh-sample.pcd"  # 替換為你的點云文件路徑pcd = o3d.io.read_point_cloud(file_path)# 2. 計算OBB外接框obb = pcd.get_oriented_bounding_box()obb.color = (1, 0, 0)  # 設置OBB顏色# 3. 獲取OBB的最長邊方向longest_edge_direction = get_obb_longest_edge_direction(obb)print(f"OBB的最長邊方向為 {longest_edge_direction}")# 4. 獲取OBB的中心點center_point = obb.get_center()end_point = center_point + longest_edge_direction * 20.0# 5. 創建直線line_set = create_line_set_of_OBBLongdir(center_point, end_point)o3d.visualization.draw_geometries([pcd, obb, line_set])if __name__ == "__main__":main()

在這里插入圖片描述

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

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

相關文章

1. 好的設計原則

目錄一、應該具備的性質二、面向對象設計原則三、詳解3.1 開閉原則3.2 單一職責原則3.3 里氏替換原則3.4 依賴倒置原則3.5 接口隔離原則3.6 合成復用原則3.7 迪米特原則一、應該具備的性質 可擴展性靈活性可插入性 二、面向對象設計原則 以下設計原則的重要性從高到低排列 …

深度學習圖像分類數據集—貓七種表情識別分類

該數據集為圖像分類數據集,適用于ResNet、VGG等卷積神經網絡,SENet、CBAM等注意力機制相關算法,Vision Transformer等Transformer相關算法。 數據集信息介紹:貓七種表情識別分類:[Angry, Disgusted, Happy, Normal, Sa…

002_Claude模型與定價

Claude模型與定價 目錄 Claude 4 模型系列模型功能對比定價策略計費說明企業定價使用建議 Claude 4 模型系列 Anthropic 推出了最新的 Claude 4 系列模型,提供不同性能等級以滿足各種需求: Claude Opus 4 定位:最強大、最智能的模型特點…

【牛客刷題】游游的字母串

文章目錄 一、題目介紹1.1 題目描述1.2 輸入描述:1.3 輸出描述:1.4 示例1二、解題二、解題思路2.1 核心問題2.2 關鍵策略三、算法分析3.1 為什么正確?3.2 復雜度分析四、模擬演練五、完整代碼一、題目介紹 題目:游游的字母串 1.1 題目描述 對于一個小寫字母而言,游游可以通…

docker容器高級管理-dockerfile創建鏡像

目錄一.構建LNMP架構1.構建nginx容器①拉取centos鏡像(對鏡像做基礎架構)②創建dockerfile工作目錄(可以是一個服務的項目)③創建dockerfile④創建啟動腳本2.構建mysql數據庫①創建mysql項目②配置dockersfile文件④創建鏡像文件3…

北京-4年功能測試2年空窗-報培訓班學測開-第四十九天

今天自習,在自習室嚶…今天效率不高,導致焦慮。不,或者該說,因為焦慮導致效率不高?沒有達到自己預期,對自己也不滿意臨近結課,突然有些迷茫,我知道我要做的還有很多,要學…

css選擇器的優先級以及用法

在 CSS 中,當多個選擇器同時作用于一個元素,并且為該元素的同一屬性設置了不同的值時,就需要依據選擇器的優先級來確定最終應用哪個樣式。本文詳細介紹 CSS 選擇器優先級的相關內容。 本文目錄一、單個選擇器的優先級1. 內聯樣式2. ID 選擇器…

hercules zos 安裝 jdk 8

首先到 IBM 官網下載相關 PAX 檔 (SDK8_31bit_SR8_FP45.PAX.Z) 和 SDK8_31bit_readme.txt https://www.ibm.com/support/pages/java-sdk-products-zos 在 hercules 裡加一些新卷用來存放這個 JDK (UAPP02),UTMP02 也可以順便加上讓 OMVS IBMUSER 下多一些存放空間&…

張量索引操作

一.前言本期我們來說一下張量的索引操作,需要掌握張量不同索引操作,我們在操作張量時,經常需要去進?獲取或者修改操作,掌握張量的花式索引操作是必須的?項能?。二.簡單行、列索引import torchdata torch.randint(0, 10, [4, 5…

docker 啟動中間件

docker 啟動 MySQL # 創建目錄 mkdir -p /Users/dongdong/software/mysql/{conf,data}docker run -d \ -p 3306:3306 \ -v /Users/dongdong/software/mysql/conf:/etc/mysql/conf.d \ -v /Users/dongdong/software/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -…

如何批量旋轉視頻90度?

用相機拍攝視頻的時候,原本是豎直拍的,但是放到電腦里面看的時候,卻變成了橫版的。如果我們需要放到剪映或者其他軟件做剪輯的時候,一個一個去旋轉視頻會比較麻煩,這里,我們可以事先用.bat文件批處理的方式…

(2025)IDEA 下載與安裝保姆級指南

目錄 一、下載 IntelliJ IDEA (一)訪問官方網站 (二)選擇版本 (三)下載安裝包 二、安裝 IntelliJ IDEA (一)運行安裝程序 (二)選擇安裝語言 &#xf…

【CV綜合實戰】基于深度學習的工業壓力表智能檢測與讀數系統【1】壓力表位置檢測

《------往期經典推薦------》 一、AI應用軟件開發實戰專欄【鏈接】 項目名稱項目名稱1.【人臉識別與管理系統開發】2.【車牌識別與自動收費管理系統開發】3.【手勢識別系統開發】4.【人臉面部活體檢測系統開發】5.【圖片風格快速遷移軟件開發】6.【人臉表表情識別系統】7.【…

性能狂飆 Gooxi 8卡5090服務器重新定義高密度算力

國鑫Intel Eagle Stream平臺8卡RTX5090AI服務器性能到底有多強?小編一文帶你看懂個中奧妙。國鑫Intel Eagle Stream平臺8卡RTX5090AI服務器如圖,國鑫Intel Eagle Stream平臺8卡RTX5090AI服務器(SY6108G-G4)只有6U高度,…

零基礎掌握Go語言需要多久?報班的話哪家好?

大家有沒有發現,近年來,Go語言越來越受歡迎了,TIOBE榜單中,Go現在已經穩居前10了。 尤其在云計算、區塊鏈、微服務等領域,Go語言更是“欽點語言”,很多大廠也都在積極使用Go語言,薪資待遇更是連…

【網絡】Linux 內核優化實戰 - net.ipv4.tcp_no_metrics_save

目錄一、TCP連接指標緩存的作用二、tcp_no_metrics_save的取值及含義三、適用場景與影響推薦啟用緩存(值為0)的場景:推薦禁用緩存(值為1)的場景:實際影響:四、如何查看和修改參數1. 查看當前值2…

13. G1垃圾回收器

1. JVM介紹和運行流程-CSDN博客 2. 什么是程序計數器-CSDN博客 3. java 堆和 JVM 內存結構-CSDN博客 4. 虛擬機棧-CSDN博客 5. JVM 的方法區-CSDN博客 6. JVM直接內存-CSDN博客 7. JVM類加載器與雙親委派模型-CSDN博客 8. JVM類裝載的執行過程-CSDN博客 9. JVM垃圾回收…

算法學習筆記:13.歸并排序——從原理到實戰,涵蓋 LeetCode 與考研 408 例題

歸并排序是一種基于分治策略的經典排序算法,由約翰?馮?諾依曼在 1945 年提出。它以穩定的 O (nlogn) 時間復雜度和良好的可并行性,在大規模數據排序場景中占據重要地位。與快速排序的 “先分區后排序” 不同,歸并排序采用 “先排序后合并”…

Kotlin基礎學習記錄

變量和函數 變量 // val為常量,一旦賦值就不可變 val a 10 val a: Int 10 a 3 // 報錯// var為變量 var a 10 a 3 var b: Int 20 b 2函數fun add(a: Int, b: Int): Unit {a b // 報錯,參數默認val }fun add(a: Int, b: Int) {var x: Int ax b …

【C#】GraphicsPath的用法

在 C# 中,GraphicsPath 是 GDI 提供的一個非常強大的類,用于創建和操作復雜圖形路徑。它可以用來繪制直線、曲線、多邊形等形狀,并支持判斷點是否在路徑內或路徑的輪廓上。一、基本概念GraphicsPath 類功能:添加各種幾何圖形&…