2009-02-01から1ヶ月間の記事一覧

cvBlobを使ってみる

http://code.google.com/p/cvblob/ 二値画像のラベリングや重心などの特徴抽出が行えるOpenCV用のライブラリcvBlobを使ってみる。 ダウンロードして、ファイル(cvblob.h, cvblob.cpp and cvlabel.cpp)を自分のプロジェクトに加えるだけで使える。とりあえず…

マウスイベントで線を引く

マウス操作で読み込んだ画像に線を引いてみる。 cvLineを使って線を引く。レフトボタンが押された座標を保持、押されなかったらクリア、マウスが動いてる最中は常に押している座標と押された座標を更新し続ければ線が引ける。・ソースコード #include <cv.h> #incl</cv.h>…

Hello, World

C++

C++勉強しなくちゃなーと思い立ち、とりあえず参考書として"C++実践プログラミング"を入手。勉強するぞー。 というわけでまずはHello,World。 #include <iostream> int main(void) { std::cout << "Hello, World\n"; return (0); }</iostream>

テンプレートマッチングの比較

cvMatchTemplateを使ってテンプレートマッチングを行ってみる。 マッチングに利用できる相関関数 CV_TM_SQDIFF (最小値の座標がマッチング位置) CV_TM_SQDIFF_NORMED CV_TM_CCORR (最大値の座標がマッチング位置) CV_TM_CCORR_NORMED CV_TM_CCOEFF (最大値の…

ヒストグラムの比較

OpenCVを使ってヒストグラムの比較を行ってみる。 どうやるかというと、二つの画像のヒストグラムを計算してから、cvCompareHistを用いてそれらを比較すればいい。 今回は以下の二つの画像を使ってみた。自分の手の画像です。 myhand1.jpg myhand2.jpg cvCom…

Python3.0を入れてみた

軽く文法を知ってるだけだけどPython3.0をインストールして使ってみた。http://wiki.python.org/moin/Python3.02.xとはいろいろ違ってる模様。とりあえず簡単にキー入力を受け付けて、文字列の大きさを出力するコードを書いてみた。 #!/usr/bin/env python i…

16進数を10進数に変換

16進数がコンマで区切られているファイルを読み込んで、各16進数を10進数に変換して出力する。ファイルデータ 0D,27,72 19,33,63 13,1D,6C 3D,21,42 23,1D,EC 31,39,4E 2F,05,50 3B,11,44 37,09,48 0B,17,74ソース file = open("HEX.TXT") file.each{|e| arr…

OpenCVで魚眼レンズ

Imager で魚眼っぽいフィルタつくったを参考にOpenCVで魚眼レンズフィルターを作ってみました。 #include <stdio.h> #include <cv.h> #include <highgui.h> #include <math.h> void Anglar_Fisheye(char *file_name) { IplImage *img = 0; IplImage *out_img = 0; double r; //魚眼レンズの半径</math.h></highgui.h></cv.h></stdio.h>…

Cでchomp

C

Cでchompを書いてみます。 chompとはPerlの関数で、文字列の中の改行('\n')を削除します。 #include <stdio.h> #include <string.h> static char* chomp( char* str ) { int l = strlen( str ); if( l > 0 && str[l-1] == '\n' ) { str[l-1] = '\0'; } return str; } int main(v</string.h></stdio.h>…