<stdio.h>
"cv.h"
"cxcore.h"
"cvaux.h"
"highgui.h"

IplImage *img=0, *dst = 0;

int main( int argc, char** argv ){
   // 画像ファイル読み込み
   char* filename = argc == 2 ? argv[1] : (char*)"lena.jpg";
   if( (img = cvLoadImage( filename, 1)) == 0 )
       return -1;

   // [注意]リサイズ画像領域を事前に確保する必要がある.
// このサンプルでは原画像の縦,横ともに1/2のサイズの画像に縮小する
   dst = cvCreateImage( cvSize(img->width/2,img->height/2),IPL_DEPTH_8U, 3);

//リサイズ
cvResize(img,dst,CV_INTER_CUBIC); 

//cvResizeの3番目の引数により補間法を指定できる
//[補間法]------------------------------------------
//CV_INTER_NN:最近傍補間
//CV_INTER_LINEAR:バイリニア補間(双直線補間)
//CV_INTER_AREA:ピクセル領域の関係を用いたリサンプリング.
//拡大の際には最近傍法に類似した方法であり.縮小の際にはモアレを回避できる.
//CV_INTER_CUBIC:双三次補間
//--------------------------------------------------

   // 画像表示窓の準備
   cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
   cvNamedWindow("Resize", CV_WINDOW_AUTOSIZE);

   // 画像表示
   cvShowImage("Image", img);
   cvShowImage("Resize", dst);

   // 何かキーを押すと終了
   cvWaitKey(0);

   // 解放
   cvReleaseImage(&img);
   cvReleaseImage(&dst);

cvDestroyAllWindows(); //全てのウィンドウを解放

   return 0;
}

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年09月27日 19:57