Predator's Vision

画像処理、3D点群処理、DeepLearning等の備忘録

2014-01-01から1年間の記事一覧

BGRとRGBを間違えて静止画/動画を保存してしまったときの変換

個人的に赤と青が逆の状態で保存してしまったー!ということがよくあります。 ちょっと検索した感じ、BGR→RGB変換のソフトウェアは公開されていないようだったので、OpenCVを使って自作。以下、C++のコード。

続・PCDファイルの保存読込速度・サイズ比較

1つ前の記事で、点群データ(pcl::PointXYZ)に関して保存読込速度とサイズ比較をした。PCDファイルの保存速度・サイズ比較 - ぷろぐ((>ω<))最後のまとめで、特徴量記述子については違う結果になるかもと予想したが、せっかくなので今回実際に比較してみた。

PCDファイルの保存読込速度・サイズ比較

ポイントクラウドの保存関数(PCD形式)は下記の3通りがある。 pcl::io::savePCDFileASCII 全部テキスト形式で保存 pcl::io::savePCDFileBinary ヘッダはテキスト形式で、データ部分はバイナリ形式で保存 pcl::io::savePCDFileBinaryCompressed ヘッダはテキス…

PCL1.7.2で一部のライブラリがエラーLNK1189でビルドできない問題の対処

PCLのビルド中にpcl_featureについては下記のようなエラーメッセージが出て使えなくなってしまった。 fatal error LNK1189: オブジェクトまたはメンバーの数がライブラリの最大許容数 65535 を超えています。 調べたところ下記のページが見つかった。被害者…

pcl::PointCloudやEigenを含むvectorをresizeするとエラーが発生する場合の対処

C++行列演算ライブラリ「Eigen」を含む構造体などのstd::vectorは、下記のページで説明されているような工夫が必要となる。Eigen: Using STL Containers with Eigen例えばこんなコードが書ける。 #include <vector> #include <Eigen/Core> #include <Eigen/StdVector> struct Hoge { Eigen::Vector</eigen/stdvector></eigen/core></vector>…

VeloViewで出力した点群データ(CSV)をPCLで読み込む

Velodyne社のLIDAR「HDL-32e」や「HDL-64e」用のViewerにVeloViewというものがあります。VeloViewでは点群データをCSV形式でエクスポートできます。そのCSVデータをpcl::PointCloudとして読み込むコードのメモ。CSVデータの1行目は、カラム名が出力されてい…

PCLVisualizerでポイントクラウドの透明度を反映させて描画する方法

pcl::PointXYZRGBAというタイプのポイントクラウドを作り、アルファ値(a)を0にしてもPCLVisualizerで透明にならないなぁと思っていたのですが、カラーハンドラーを設定すればちゃんと透明度に合わせて描画されることに気づきました。以下、サンプル #include <pcl/point_types.h></pcl/point_types.h>…

【PCL入門】 Point Cloud Library のインストール

今回はPCLを使えるようにするまでを紹介します。

【PCL入門】 Point Cloud Library について

PCLはまだまだ英語の文献の方が多いと思うので、個人的に学んだことを何回かに分けて投稿しようと思います。次のような読者を想定しています。 PCLをよく知らない そもそもC/C++もあまり慣れていない というかプログラミングにあまり慣れていない ですので、…

Windows 8 で HSP3 アプリを終了時にランタイムエラーが発生する場合の対処

昔 Windows Vista / 7 向けに作ったHSP3製アプリケーションを Windows 8 で動かすと、終了時に "Microsoft Visual C++ Runtime Library Runtime Error" が出る場合があることに気づきました。同じ症状で困っている人もいるみたい。 Microsoft Visual C++ Run…

VS2013 で FLANN 1.8.4 をビルド

VS2013 での FLANN 1.8.4 のビルドのメモ。あるヘッダファイルを修正しないとうまくビルドできなかった。 環境 Windows 7 Professional x64 Microsoft Visual Studio Premium 2013 エラー内容 ここと全く同じ FLANN errors on 64bit MSVC2010 (debug) · Issu…

VS2013 で Boost 1.55.0 をビルド

VS2013 での Boost 1.55.0 のビルドのメモ。あるヘッダーファイルに修正を加えてからでないとビルドが成功しなかった。 環境 Windows 7 Professional x64 Visual Studio Premium 2013 エラー内容 c:\Boost\boost_1_55_0\boost/archive/iterators/transform_w…

Structure Sensor から距離画像やポイントクラウドを取得

前回の「Structure Sensor を Windows へ接続」の続きです。OpenNI2を使って距離画像(深度画像)・赤外線画像・ポイントクラウドを取得してみました。 ソースコード Structure Sensor からデータを取得するC++のモジュール "structure_grabber" をGithubに…

Structure Sensor を Windows へ接続

はじめに "Structure Sensor" というiOS向けの超小型デプスセンサーについて、いろいろな方が既にレビューをされています。(ちなみにデプスセンサーとは距離情報を取得できるセンサーで、MicrosoftのKinectを契機にかなり有名になりました。) iOS用赤外線…

スクリーンの輝度が調節できない不具合の解決

何か月か前からノートPCのディスプレイ輝度が何かの拍子に調整できなくなってしまった。 (ちなみに環境はLet's note CF-AX2、Windows 8.1 Pro) 輝度調整ができないというのは、電源オプションの画面では映るはずの「画面の明るさ」調整バーが映らなかった…

SketchUpにポイントクラウドをインポート

2014/09/04追記 SketchUp2013で「encodeメソッドが未定義」のエラーになるので、スクリプトを修正しました デプスセンサで取得したポイントクラウドをSketchUpで作成した構造データとどれぐらい合うか目視で比較するために、SketchUpにポイントクラウドをイ…

boostでXMLの読み書き

boostを使ったXML読み書きのサンプル。参考: https://sites.google.com/site/boostjp/tips/xml http://stackoverflow.com/questions/6656380/boost-1-46-1-property-tree-how-to-iterate-through-ptree-receiving-sub-ptreesこんな感じのサンプルXMLを読み…