ポイントクラウドからNaNをコメントすることはできませんが、NaNを削除すると、デフォルトでは未整理になります。行列の次元を正しく保つために、あなたの計測器が行列内の点を観測できない場合には、NaNがダミー点として存在する可能性があります。それらを削除すると行列構造が壊れ、1280 * 720マトリックスが期待するものとは異なるポイントが得られます。
あなたがダウンして組織化のポイントクラウドが2倍に言っサンプルをご希望の場合、あなたが望むものに
int scale = 2;
pcl::PointCloud<pcl::your_point_type> down_sampled_cloud;
down_sampled_cloud.width = original_cloud.width/scale;
down_sampled_cloud.height = original_cloud.height/scale;
for(int ii = 0; ii < original_cloud.height; ii+=scale){
for(int jj = 0; jj < original_cloud.width; jj+=scale){
down_sampled_cloud.push_back(original_cloud.at(ii,jj));
}
}
変更スケールのような何かを試みることができます。
このメソッドは、元のポイントクラウドをサンプリングして、既存のポイント間のポイントを補間しません。小数点によるスケーリングは手間がかかり、サーフェスが連続していないと望ましくない結果が生じる可能性があります。
ありがとうございます@アナトールあなたの説明のために!実際に私はまた、あなたのものと同じような(おそらくより正確な)別の方法を考案しました。私はsrcクラウドの各m * mウィンドウの平均値をdestクラウド内の対応する値として計算しています。 –
私はNaNの問題も認識しました。 "removeNaNFromPointCloud"はクラウドを整理していないようです。私は、平均値を計算するときにNaN点を無視し、src画像のウィンドウ内のすべての点がNaN点であれば点NaNを残します。 さらに、ウィンドウ内の平均値を計算するよりも、より良い補間方法があるはずです。 PCLの関連するAPIがないことが不思議です。 –
組織化されたポイントクラウド@Anatoleについてもう1つ質問があります。組織化されたポイントクラウドのサンプリングをPCLで行う方法に精通していますか?ありがとう。 –