[Python --open3d] So konvertieren Sie 3D-Modellobjektdaten in Punktwolken

Überblick

Dieser Artikel zeigt, wie ein mit Blender usw. erstelltes Modell in Punktwolkendaten konvertiert wird, die für die Topologiedatenanalyse usw. verwendet werden. Obwohl Python selten Punktwolken verarbeitet, kann es für die Analyse verwendet werden, da das Analysefeld eine gute Bibliothek enthält, z. B. die Analyse von Topologiedaten. Wenn Sie obj-Daten für die Analyse verwenden, müssen Sie diese mit open3D lesen und in eine Punktwolke konvertieren. Beschreiben Sie sie daher.

Es kam nach ein wenig Recherche heraus, also ist es ein Memorandum.

スクリーンショット 2020-02-15 4.08.42.png スクリーンショット 2020-02-15 4.08.59.png

open3d

Eine Bibliothek, die Punktwolkendaten analysiert. Grundsätzlich können Sie Punktwolken abgleichen und Ausreißer analysieren. Es ist auch möglich, eine Punktwolkengruppe aus RGBD-Daten einschließlich Tiefeninformationen zu erstellen.

obj Datenkonvertierung

Daten werden selten im Punktwolkenformat (Ply) verteilt, und 3D-Modelle werden in Formaten wie obj und fbx gelesen. Daher kann es in eine Punktwolke konvertiert werden, indem nur die Scheitelpunkte (Scheitelpunkte) der obj-Daten extrahiert und die Netzinformationen entfernt werden, wie im folgenden Programm gezeigt.


import open3d as o3d
import numpy as np

def obj_mesh(path):
  return o3d.io.read_triangle_mesh(path)

def draw_mesh(mesh):
  
  mesh.paint_uniform_color([1., 0., 0.])
  mesh.compute_vertex_normals()
  o3d.visualization.draw_geometries([mesh])

def mesh2ply(mesh):
  pcd = o3d.geometry.PointCloud()
  pcd.points = o3d.utility.Vector3dVector(np.asarray(mesh.vertices))
  return pcd


if __name__ == "__main__":
  path = "/Users/washizakikai/data/obj3d/IronMan.obj"
  mesh = obj_mesh(path)
  
  pcd = mesh2ply(mesh)

Recommended Posts

[Python --open3d] So konvertieren Sie 3D-Modellobjektdaten in Punktwolken
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
So konvertieren Sie Gleitkommazahlen in Python in Binärzahlen
Erfassung der 3D-Punktgruppe mit Pepper of Softbank (Choregraphe, Python)
[Python] Wie man MP3-Daten fFT
So aktualisieren Sie die Python-Version von Cloud Shell in GCP
[Python] So konvertieren Sie eine Datenbankdatei in CSV
[Python] Zusammenfassung der Verwendung von Pandas
Konvertieren Sie Excel-Daten mit Python in JSON
[Python2.7] Zusammenfassung der Verwendung von unittest
So wechseln Sie die Python-Version in Cloud9
Verwendung von "deque" für Python-Daten
Zusammenfassung der Verwendung der Python-Liste
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
[Einführung in Data Scientist] Grundlagen von Python ♬
[Frage] Wie verwende ich plot_surface von Python?
So senden Sie ein visualisiertes Bild der in Python erstellten Daten an Typetalk
[Python] So ändern Sie die Daten der Zeichenkette (str) auf das Datum (strptime of datetime)
[Tensorflowjs_converter] So konvertieren Sie das Tensorflow-Modell in das Format Tensorflow.js
[Python] Verwendung von zwei Arten von type ()
Konvertieren Sie Daten mit Form (Anzahl der Daten, 1) in (Anzahl der Daten,) mit numpy.
Konvertieren Sie die "Anzahl" des Excel-Datums in die Python-Datumszeit
Zusammenfassung zum Lesen numerischer Daten mit Python [CSV, NetCDF, Fortran Binary]
Zusammenfassung zum Importieren von Dateien in Python 3
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
[Einführung in Python] Umgang mit Daten im JSON-Format
So legen Sie Attribute mit Mock of Python fest
So erhalten Sie Elemente vom Typ Wörterbuch von Python 2.7
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Zusammenfassung der Tools, die zum Analysieren von Daten in Python benötigt werden
So konvertieren Sie den Python # -Typ für Super-Anfänger von Python: str
So ermitteln Sie die Anzahl der Stellen in Python
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
So kratzen Sie Bilddaten von Flickr mit Python
So konvertieren Sie horizontal gehaltene Daten mit Pandas in vertikal gehaltene Daten
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Verwendung von Python Kivy ~ ~ Grundlagen der Kv-Sprache ~
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Python: Diagramm der zweidimensionalen Datenverteilung (Schätzung der Kerneldichte)
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Verwendung des in Lobe in Python erlernten Modells
python, php, ruby Konvertieren von Dezimalzahlen in n
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
So installieren Sie Python
So installieren Sie Python
[Frage] So erhalten Sie die Daten von Textbereichsdaten in Echtzeit mithilfe der Python-Webframework-Flasche
[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden
SIGNATE Quest ② Von der gezielten Modellerstellung bis zur Erstellung von Übermittlungsdaten
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
Offline-Echtzeit zum Schreiben eines E14 Python-Implementierungsbeispiels
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
[Python] Zusammenfassung zum Abrufen von Listen und Wörterbuchelementen
So mischen Sie einen Teil der Python-Liste (at random.shuffle)
So verschieben Sie ein zweidimensionales Array nur mit Python [Hinweis]