ぷろぐ((>ω<))

ぷろぐらみんぐ関係のメモ

Android Studio でデバッグ実行してもブレークポイントで止まらない場合の対処

タイトルの件でちょっとハマったのでメモ。 Android Studio でデバッグ実行してもブレークポイントで止まらない場合、考えられる理由は私の知っている範囲では次の3つ。まだまだ事例は他にもあるかもしれないですが。 私がハマったのは3番目の奴です。 1. As…

OpenCVを使いたいときのcmakeの書き方

次のように書けばよい。かなりシンプル。link_directoriesの指定は不要。 なぜならば、${OpenCV_LIBS}でライブラリへの絶対パスが指定されるためOpenCVが見つかった場合のみプロジェクトを作成したければif(DEFINED ${OpenCV_VERSION})でadd_executableやtar…

一発でわかる Iterative Closest Point のコンセプト図解

2つの点群を重ね合わせる手法にICP (Iterative Closest Point) というものがあります。 1992年に発表されてから、現在に至るまであらゆる派生手法が提案されています。ベーシックなICPの仕組みは一言で言うと「近傍点との距離の最小化を繰り返す」です。これ…

Visual Studio 2013 でソリューションを開こうとするとビジーになる場合の対処

Visual Studio 2013 でソリューションを開こうとするとビジーになる場合が前からちょくちょくあったが、 今日は全く開けなくなった。何回再起動したり.suoファイルを削除したりしても治らない。 Visual Studio 2013 hangs when opening a solution - Stack O…

OpenCV3では視差画像が作れない?

OpenCVで視差画像を作ろうと思って調べたところ下記のサイトを発見。ちなみに2008年の情報。 Momma's Wiki: OpenCV/距離計測 - ステレオマッチング(二眼カメラ)による距離計測 ※CvCalibFilte...これに従って、最新であるOpenCV3を使って試してみたら、cvFind…

PTAMをVS2013でWebカメラ使用版に改造してビルド

C++

PTAMビルド手順はいろんなサイトに載ってますが、100%その通りにやればビルドできたというわけではないので、そのメモ。 ビルド手順 参考サイト Win7(64bit)で初めてのPTAM コンパイル編│黒い森から来た少年 Goodbye, World! 【PTAM(1/3)】 PTAMコンパイル 2…

指定桁数&指数表記なしで整数・小数を適切に表示する方法

電卓等、数字の表示可能な桁数が限られる中で、適切に数字を表示したい場合の方法。 DecimalFormat decimalFormat1_ = new DecimalFormat("0.0000000E0"); DecimalFormat decimalFormat2_ = new DecimalFormat("0.#######"); String numberStr = decimalForm…

GridViewがsetEmptyViewで消えてくれない/出てきてくれない(未解決)

ListViewやGridViewでは、中身が空の時に表示するビューを設定できるらしい。ListView で表示リスト項目の無い場合のビューを指定する方法 - Android 開発入門そこで、GridViewにも適用してみたのだが、うまく動かなかったというメモ。(解決していない)

PCL の Verbosity Level

PCLのAPIが処理途中に出力するログはどれぐらい出力するか設定を変えられる。 全モードを試してみるコードのメモ。 #include <iostream> #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/io/pcd_io.h> #include <pcl/console/print.h> void doSomething() { pcl::PointCloud<pcl::PointXYZ> cloud; pcl::io::loadPCDFile("not_exist.pcd",</pcl::pointxyz></pcl/console/print.h></pcl/io/pcd_io.h></pcl/point_cloud.h></pcl/point_types.h></iostream>…

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を読み…