久し振りにOpenCV触ってみた

OpenCV/RAW画像生成 – Point at infinityという記事をアップしました.
といっても個人用ですが。。。(←需要があるとは思っていない)
まぁ,参考までに.

/****** [ここから余談]******
OpenCVの普及により画像処理という分野が身近になったのはいいのですが,
最初からOpenCVに依存しすぎると,理屈がわかっていなくても高度なアルゴリズムが
簡単に組めてしまうため,そういう人に限って「やってみたらできました」的な
結果に陥りやすいという諸刃の剣.

C言語習いたての人なんかは一からアルゴリズムをコーディングしてみた方が
後々のために良い勉強になりそうな気がします.

C言語に慣れてきたら,ppmなどファイル情報がヘッダ部に書き込まれているような
フォーマットにステップアップするとかね.
******[ここまで余談] ******/

ということで,OpenCVの話はここらへんにして.
最近,30日でできる! OS自作入門という本を買いました.
以前から気にはなっていたのですが,なかなか購入までには踏み切れなくて。。。

なのでやる気が再燃した今こそと,思い切って購入.
値段は3,990円とちょっと高めですが,それだけの価値がある読みやすい本だと思います.

ということで,現在1日目終了(バイナリエディタ久し振り使ったな…).
いつまで自分が続くのか…というのも気がかりですが,最近いろんなものに手を付け過ぎな感が。。。

[tmkm-amazon]4839919844[/tmkm-amazon]

またまた,話が飛びますが,奥華子のシングル「手紙」をようやく買いました.
GYAOで「手紙」のPVが120秒間視聴できるんですけど,音楽とPVの出来がすごく良くて癒されます.
当分,BGMとして活躍しそうです.

[tmkm-amazon]B000ZEJT5I[/tmkm-amazon]

Gainer with C++ vol.1

前回予告していたようにC++でGainerを扱うために行った処理を簡単に書いてみます.
もしかしたら,間違っていたり,こうした方が良い点などがあるかもしれないので,ご指摘お願いします.

ということで,今のところ最低限用意しているメソッドはこんな感じ.

(1)Gainer初期化
通信速度,パリティ等の設定(こちらを参考)

(2)リセットメッセージ送信
Gainerモジュールに文字列「Q*」 を送信.
(送信に成功したらGainer側からメッセージが送られるので受け取る)

(3)コンフィギュレーションの設定
Gainerモジュールに文字列「KONFIGURATION_1*」を送信.
(送信に成功したらGainer側からメッセージが送られるので受け取る)

(4)データの取得
Gainerモジュールに文字列「I*」を送信.
送信に成功したら,アナログ入力ain0~ain3のデータが文字列として
送られてくるので,その文字列を受信.

(5)文字列→数値変換
受信したアナログ入力のデータは,「Ixx…xx*」(※xx…xxがデータ部)
という構成の文字列なので,まずは入力分だけ文字列を分割.
また,値は16進なので10進に変換して利用.

(6)後処理
ポートのクローズ処理.

************************
あと,「プログラム風」に書くとこんな感じです.
※前回の記事ではこれらの処理に移動平均法の処理も加えています.

[cpp]
#include “MyGainer.h” //ヘッダのインクルード
MyGainer *gainer;

int main(int argc, char** argv)
{
//Gainerオブジェクト生成
//ここではCOM3を指定
gainer = new MyGainer(3);

//初期化
//(COMポートオープン、通信速度等設定)
gainer->initialize();

//コンフィギュレーションの設定(MODE1)
gainer->setConfiguration(1);

//キー値
int key = 0;

//ループ
while(1)
{
//データ取得
//(メッセージ送信 + データ受信 + 文字列→数値)
gainer->getAllAnalogInput();

//キー入力待ち(1msec)
key = getKeyInput();

//ESCキーが押されたら終了
if(key == 0x1b)
{
break;
}
}

//後処理(COMポート解放)
gainer->release();
delete gainer;

return 0;
}[/cpp]

Gainer with C++ vol.0

C++でGainerを扱う(といってもアナログ入力のみ)ライブラリを自作したので,早速OpenGLと組み合わせて実験.とりあえず,動いたー!!

でも,ソースが汚いです。。。_| ̄|○
ということで,公開はまだまだ先になりそう(コードがグダグダなのでしないかも。。。).

とりあえず,どんな感じでシリアル通信しているかを簡単に記述した擬似コードを後日記事にする予定.

Gainer with C++(加速度センサ)