IntelからOpenSourceの画像処理ライブラリを試しています。
10月ぐらいに正式版が出るって聞いて早速インストールしたんだけど、チョットためしに使っています。
いろいろ日本語サイトも増えてるみたいで、
参考1
参考2
を参考にしながら、画像の収縮に挑戦!
画像の管理は、IplImageにしてるのね。
IplImage* image = cvCreateImage( cvSize(幅, 高さ), IPL_DEPTH_8U, 1);
cvReleaseImage(image);
てな感じでか。
で収縮なんですが、"cv.h"をインクルードしてもらって、
// 元画像サイズ
int wid_src = 640;
int hei_src = 480;
// 収縮画像サイズ ここでは1/2とします
int wid_dst = 640 / 2;
int hei_dst = 480 / 2;
// 作成
IplImage* image_src = cvCreateImage(cvSize(wid_src, hei_src), IPL_DEPTH_8U, 1);
IplImage* image_det = cvCreateImage(cvSize(wid_dst, hei_dst), IPL_DEPTH_8U, 1);
// 画像をコピー
// ※元画像データがimageData[640*480]に入ってる
memcpy(image_src->imageData, imageData, wid_src * hei_dst);
// 収縮
cvResize(image_src, image_dst, CV_INTER_LINEAR);
// 解放
cvReleaseImage(&image_src);
cvReleaseImage(&image_dst);
んな感じでOK!cvResizeの第3引数は
* CV_INTER_NN - nearest-neigbor interpolation,で補間方法。
* CV_INTER_LINEAR - bilinear interpolation (used by default)
* CV_INTER_AREA - resampling using pixel area relation. It is preferred method for image decimation that gives moire-free results. In case of zooming it is similar to CV_INTER_NN method.
* CV_INTER_CUBIC - bicubic interpolation.
もうすこしいろいろ触ってみましょ。それでは次回を。。。
0 件のコメント:
コメントを投稿