ふらふら Diary (仮)

興味のあることを適当に書いていく感じです

/* Happy New Year 2015 */

明けましておめでとうございます.
今年もよろしくお願いします.

昨年の9月にブログを始め,年を越しました.
ブログを始めた当初は,もっと日記のような今日あった出来事を記録していくのだろうと思っていました.でも,実際は,画像処理・画像認識を勉強し始めた自分が後々に困ることのないようにソースコードを載せていることの方が多かったです.

これから,記事の内容については変わることがあるかもしれません.


2012年8月に登録したTwitterは削除しました.自分の人生は決してリセットできないけれど,すべてのつながりをいったん削除したいと思ったからです.もちろん,すべての人とつながりたくないと思ったのではありません.やめたらその分寂しくなるという思いを持って削除しました. 結局,アカウントは復活させました (2015/3/12 追記).4月からは所属が変わり,今までつながっていた人とは一生会わないかもしれません.そのような中で一日一日を大切に生き,充実した1年にしていきたいです.

マスク画像の作成

今回は,得られた座標を直線で結ぶという作業をOpenCVを用いて行ってみようと思います.
ただ,座標を直線で結んで多角形を作成するのも良いですが,今回は,作成後,いろいろと遊ぶことのできるマスク画像を作成します.

ここでは,マスク画像の詳細は省きますが,マスク画像は二値画像です.


10行目から13行目が得られた座標です.この座標を直線で結び,その内部を白く塗りつぶしています.

そしてtest.jpgは以下のようになります.
f:id:jetarinA:20141228195921j:plain


10行目から13行目の部分をtxtファイルから読み込みたいというときは,

FILE *fp;
cv::Point pt[4];
int i;

などど宣言してから

fp = fopen("test.txt", "r");
if(fp == NULL){
    printf("ファイルがありません\n");
    return -1;
}

for(i = 0; i < 4; i++){
    int x, y;
    fscanf(fp, " %d %d", &x, &y);
    pt[i] = cv::Point(x, y);
}
fclose(fp);

と書き換えます.
この書き換えの場合は

100 100 100 200 … 

と座標を空白で区切ってある場合に使うことができます.

/* ポケモンORAS発売 */

ついに発売されました.(2014/11/21 記入)

f:id:jetarinA:20141226221440j:plain


ただ,今は少しプレイする余裕はなさそうです.(2014/11/28 記入)

(2014/12/26 記入)
最近,ようやく始められました.
まだジムバッジは2個ですが,ゆっくり自分のペースで進められたらと思います.
とりあえずの目標はジムバッジをすべて集めることですかね.

いろいろ見ているとポケモン以外にも欲しいゲームがたくさんありました.
でも,先月はゲームもできないほど追われていました.
もう少し,自分の人生について考えていきたいと思います.

/* coffee break */

最近,面白いブログを探すのが好きです.


さて,私は画像認識に関する研究をしているらしいのですが,先日研究されている方とお話ししました.
人と関わるのが億劫になっていて,私自身一人で何事も進めていきたいと思うことも多かったです.しかし,やはり横のつながりも非常に大事で,人と関わらずにやっていくことはおそらくできないだろうなと感じました.

OpenCVとこれから

先日,自分のコードを見てもらったら衝撃の一言.
「今はこんな書き方しないよ」
OpenCVの古いバージョンの書き方をしているようで…
cvLoadImageとかcvSaveImageとか…

Physics-Station: OpenCV を Visual Studio で使う方法

ここに書いてあるように「OpenCV 1.0で使われていたコードであり、初心者とメモリに優しくない」のです.

でも,やり始めたときに人に聞いてよかったなと.今までほぼ一人で調べてやってきたので.
今後はまた勉強しなおしてやっていきたいですね.


(あと,普段あまり更新していないのでもう少し日記みたいなものを増やすかも)

Rでファイルの読み書き

今回は最近よく使っているRのことを書きます.なかなか覚えられないので,ここにメモしておきます.

x <-read.csv("input.csv", header=F)
m <-matrix(x, ncol=2)
m1 <- m[-c(5,16,27,38,49,60,71),]
write.table(m1, "output.txt", quote=F, col.names=F, row.names=F,
append=F)

これ以降はデータがどうなっていくかが書いてあるだけです(長いです).

続きを読む

輪郭座標をcsvファイルで保存

今回もOpenCV使ってみました.

opencv.jp - OpenCV: 木(Trees)サンプルコード -

こちらのサイトは輪郭座標をYAML形式で保存するのですが,まだ私にはなじみがなかったので,自分にとって扱いやすいcsvファイルで保存しようと思いました.

gist50d036396b9d09979138

 

OpenCVの設定はこちらです.

 今回は保存するところだけでなく,画像を読み込むところも変えています.

この方法ですと,いくつ輪郭があるかは分からなくなるのですが,一つの輪郭しか持たない場合は扱いやすくなると思います.