Artikel-ID: 000027169 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 06.08.2021

So holen Sie sich die Punktwolke von Intel® RealSense™ Kameras in C #

Umgebung

Intel® RealSense™-Tiefenkamera D435 Intel® RealSense™-Tiefenkamera D415

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Zusammenfassung

Konvertieren Intel RealSense Punktwolke in PCL-Punktwolke von Intel® RealSense™-Tiefenkameras

Beschreibung

Ich möchte die Punktwolkendaten von Intel® RealSense™ Kamera in das PCD-Format konvertieren, das im PCL-Format (Punktwolkenbibliothek) üblich ist.

Lösung

Das Intel® RealSense™ SDK 2.0 verfügt über ein Punkt-Cloud-Beispielprogramm, ist aber wie die meisten Samples für C++ vorgesehen.  Betrachtet man den Code der kleinen Anzahl von C#-Samples, haben ihre Skripts jedoch die #includes in den Headern (etwas, was in C# nicht obligatorisch ist).  Es ist also möglich, dass die Konvertierung des C++ Punkt-Cloud-Codes in ein C#-Skript möglicherweise nicht schwierig ist.
 
Versuchen Sie es mit dem C++ Code in einem C# Skript und sehen Sie, wie viele Fehler Sie (falls welche) erhalten und ab diesem Zeitpunkt arbeiten.
 
– zum Beispielen/pointcloud at master | IntelRealSense/als 1000-er-Tor (unter:: 77777) Github
 
Für den Vergleich von C++ Code mit C# im RealSense SDK 2.0 können Sie die beiden Arten von Beispielen auf dieser Seite sehen:
 
– zum Beispiel beim Master – IntelRealSense/unters 100-to-1010 ;/77777 Github
 
Eine Option, die Sie vorerst tun müssen, bis die PointCloud-Klasse für C# umgekündigt wird, besteht in der Beschaffung der Kamerainmanenzen (für die Tiefenkamera, wenn die Rohtiefe verwendet wird, oder einer Farbkamera, wenn eine Tiefe verwendet wird, die an der Farbe ausgerichtet ist) und das Pinhole Camera Model (was die PointCloud-Klasse intern tut). Aus den Inhärenten, die man von der Kamera bekommt, sind ppx & ppy camera_principle_point_x und Y im Link und fx & fy sind camera_focal_length_x und Y.
 
Sie müssen jedes Pixel im Tiefenbild durchschleifen, den Tiefenwert erhalten (der effizienteste ist der Tiefendatenzeiger), ihn mit der Tiefenskalation multiplizieren und die in der Verbindung x_3D und y_3D angegebenen Formeln anwenden.
 
Falls jemand dies liest und verwechselt wird, wird C# (meistens) derzeit unterstützt.

Die intern zur Berechnung der Punktwolke verwendete Methode ist hier.

PCL-Entpacker für Intel RealSense, der DIE RGB- und RGB-Konvertierung unterstützt
https://github.com/eMrazSVK/JetsonSLAM/blob/master/pcl_testing.cpp

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.