• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

ITK 使用 MeshFileReader 讀取 OBJ 檔案教學與範例

介紹如何使用 ITK 的 MeshFileReader 讀取 OBJ 網格檔案。

Python 讀取 OBJ 檔案

若在 Python 中,可以使用 itk 模組的 MeshFileReader 來讀取 OBJ 檔案:

import itk

# 設定 Mesh 資料型態(浮點數、維度 3)
meshType = itk.Mesh[itk.F, 3]

# 建立 Mesh Reader
meshReader = itk.MeshFileReader[meshType].New()

# 設定 MeshIO
meshIO = itk.OBJMeshIO.New()
meshReader.SetMeshIO(meshIO)

# 指定 OBJ 檔案名稱
meshReader.SetFileName('my_mesh.obj')

# 實際讀取 OBJ 檔案
meshReader.Update()

# 取得 Mesh 內容
mesh = meshReader.GetOutput()

C++ 讀取 OBJ 檔案

若要在 C++ 讀取 OBJ 檔案,可以使用 itk::MeshFileReader:

#include <itkMesh.h>
#include <itkMeshFileReader.h>
int main() {

  // 設定 Mesh 資料型態(浮點數、維度 3)
  constexpr unsigned int Dimension = 3;
  using CoordinateType = float;
  using MeshType = itk::Mesh<CoordinateType, Dimension>;

  // 建立 Mesh Reader
  using ReaderType = itk::MeshFileReader<MeshType>;
  ReaderType::Pointer reader = ReaderType::New();

  // 指定 OBJ 檔案名稱
  reader->SetFileName("my_mesh.obj");

  // 實際讀取 OBJ 檔案
  reader->Update();

  // 取得 Mesh 內容
  MeshType::Pointer mesh = reader->GetOutput();

  return EXIT_SUCCESS;
}

搭配以下 CMakeLists.txt 以 CMake 編譯:

cmake_minimum_required(VERSION 3.10.2)

# 設定專案名稱
project(ReadObj)

# 尋找並引入 ITK 函式庫
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})

# 增加一個執行檔
add_executable(ReadObj ReadObj.cpp)

# 定義執行檔連結方式
target_link_libraries(ReadObj ${ITK_LIBRARIES})

參考資料:ITKExamples

分類:C/C++, Python 標籤:ITK

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide