質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
コンピュータビジョン

コンピュータビジョンとは、コンピュータの視覚を実現する技術です。コンピュータに取り込んだ画像を処理してデータを抽出します。顔画像の認識やCTスキャンの画像診断などに利用されています。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

1639閲覧

<ポイントクラウド>pcd ファイルをPCLライブラリを使って読み込む時に、値が変化してしまう。

TakayukiOta

総合スコア15

コンピュータビジョン

コンピュータビジョンとは、コンピュータの視覚を実現する技術です。コンピュータに取り込んだ画像を処理してデータを抽出します。顔画像の認識やCTスキャンの画像診断などに利用されています。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/10/08 07:38

編集2019/10/08 08:20

前提・実現したいこと

PCLライブラリを使って、ポイントクラウドのデータ(x,y座標、.pcdフォーマット)を読み込みたいです。
チュートリアルに従って、サンプルのデータを読み込ませることはできたのですが、自分のデータを読み込むと、x,y座標の値が変化して読み込まれてしまいます。

発生している問題・エラーメッセージ

イメージ説明

実際の値は下記pcdファイルにあるように3603538.71629などなのですが、pclで読み込むと違った値になってしまいます。

該当のソースコード xyzc-Cloud.pcd, pcd_read.cpp

pcd

1# .PCD v.7 - Point Cloud Data file format 2VERSION .7 3FIELDS x y z cluster 4SIZE 4 4 4 4 5TYPE F F F F 6COUNT 1 1 1 1 7WIDTH 14937 8HEIGHT 1 9VIEWPOINT 0 0 0 1 0 0 0 10POINTS 14937 11DATA binary 12 13# POINT_X;POINT_Y;Count;Cluster 143603538.71629;5794698.05946;1;4 153605159.73611;5792213.47052;1;20 163605158.44424;5792230.86339;1;20 173605158.97718;5792221.85844;1;20 183605152.30217;5792232.17992;1;20 193604558.82308;5793345.02318;1;55 203604944.90684;5794341.30959;1;56 213603573.24699;5792898.45793;1;90 223603224.56671;5794569.82724;1;95 233603255.55387;5794586.19727;1;95 243604169.99855;5794061.00899;1;98 253604165.55459;5794065.67417;1;98

c++

1#include <iostream> 2#include <pcl/io/pcd_io.h> 3#include <pcl/point_types.h> 4 5int 6main (int argc, char** argv) 7{ 8 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>); 9 10 if (pcl::io::loadPCDFile<pcl::PointXYZ> ("xyzc-Cloud.pcd", *cloud) == -1) //* load the file 11 { 12 PCL_ERROR ("Couldn't read file xyzc-Cloud.pcd \n"); 13 return (-1); 14 } 15 std::cout << "Loaded " 16 << cloud->width * cloud->height 17 << " data points from xyzc-Cloud.pcd with the following fields: " 18 << std::endl; 19 20 for (size_t i = 0; i < 10; ++i) 21 std::cout << " " << cloud->points[i].x 22 << " " << cloud->points[i].y 23 << " " << cloud->points[i].z << std::endl; 24 25 return (0); 26}

試したこと

該当のファイルをcloudcompareで可視化したら、想定通りのpoint cloudの形は確認することができました。そのため、point cloudのデータ自体は正しく保存できていると思います。

環境

macOS ver 10.14.16
足りない情報があれば追記します。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問