>

2013年4月19日金曜日

三次元点群データをgnuplotで表示

たまに三次元点群データ(point cloud)を可視化したいときがある。いろんな選択肢があるがgnuplotでもできるみたいなのでその方法をメモ。
 FILE* gp;
 gp = _popen("pgnuplot -persist","w");
 fprintf(gp, "splot '-' with points pointtype 1\n");
 for (int i = 0; i < objectPoints.rows; i++) 
 {
  fprintf(gp, "%lf %lf %lf\n", objectPoints.at<float>(i,0), objectPoints.at<float>(i,1), objectPoints.at<float>(i,2));
 }
 fprintf(gp, "e\n");
 fflush(gp);
 _pclose(gp);
ちなみにC++, Windows環境での例です。前提としてgnuplot windows版をインストールしていて、インストール時に環境変数PATHにgnuplotのフォルダパスを追加しておく(インストーラのチェックボックスで設定)必要があります。 http://www.gnuplot.info/

2013年4月12日金曜日

契約終了後HTC Desire X06HTIIが使えなくなる件の対処方法

SoftbankのDesireが解約後約一ヶ月で「サービス提供不可」と表示されてなんにも操作できなくなる件、対処方法は起動直後に機内モードに設定することだそうです。http://kyaba.blog.eonet.jp/default/2012/09/post-b6dc.html

しかし、USIMカードにPINロックをかけていたり、画面ロックが複雑だったりするとロックがかかるまでに設定するのはほぼ不可能。

と、あきらめかけていたのですがなんとか設定することが出来ました。そのときの手順をメモします。

1. Desireを起動
2. ロゴ表示が終わったと同時に画面のバーを下げて画面ロック解除コード入力画面を出し、パターンを入力(ここまでの操作をなんとかUSIMカードのPINロック画面が表示されるまでに行う)
3. USIMカードのPIN入力画面になったらPINをすぐに入力せずに時間を稼ぐ。こうすることで常駐プロセスが全て起動し終えるまで(僕の携帯の場合はAdvansed Task Killerなどのアイコンが画面上に表示されたりして落ち着くまで)待つ。時間の稼ぎ方は番号を入力してバックスペース(番号表示枠の右側の←|のようなアイコン)を押したりするのを繰り返す。
4. 常駐プロセスの起動が終わり落ち着いたら正しいPINを入力してOKを押す。
5. ホーム画面が表示されると同時に"menu"ボタンを押す。押すと下側にメニューバーが表示されるのですぐに一番右下の"設定"を押す。すると設定メニューが表示されるのですぐに上から2番目の"無線とネットワーク"を押す。すると画面がまた変わるので今度は一番上の"機内モード"の右側にあるチェックボックスをONにする。

かなり時間が厳しいのですが20回以上挑戦してなんとかうまくいきました。コツはPIN入力画面での時間は制限時間にカウントされないみたいなのでこの画面で常駐プロセスが起動するの待つことで続く画面の表示を高速に表示させるようにすることです。健闘を祈ります。

参考までにメニューの位置が分かるよう画面の写真を載せておきます。
#Desireだとスクリーンショットはroot化しないと撮影できないみたいなのであきらめました。