OpenGL de プログラミング - 画像の拡大・縮小
現在地 >> メニュー >> サンプルコード::OpenCV >> 画像の拡大・縮小

問題


画像を1.5倍の拡大せよ。

その他条件:
補間には、バイキュービック補間を使うこと。

画像

関連 >> OpenCV::ウィンドウの拡大・縮小

答え


#include <cv.h>
#include <highgui.h>
#include <cstdio>


int main(int argc,char*argv[])
{

IplImage *InPut=cvLoadImage("test2.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
if(!InPut)
{
printf("Can't load Image.\n");
exit(0);
}


IplImage*OutPut
= cvCreateImage(cvSize*1,IPL_DEPTH_8U,3);


cvResize(InPut,OutPut,CV_INTER_CUBIC);


cvNamedWindow("InPut",CV_WINDOW_AUTOSIZE);
cvShowImage("InPut",InPut);
cvReleaseImage( &InPut );

cvNamedWindow("OutPut",CV_WINDOW_AUTOSIZE);
cvShowImage("OutPut",OutPut);
cvReleaseImage( &OutPut );


cvWaitKey(0);

cvDestroyAllWindows();
return 0;
}

メモ


この拡大・縮小は、ピクセルの数が増えている。

関連 >> OpenCV::ウィンドウの拡大・縮小


cvSizeがint型なので、0.5を加えてキャストすることで四捨五入した。


※cvResize関数
http://opencv.jp/opencv/document/opencvref_cv_samp...



縮小を行うと、モザイク画像を作ることが可能。
 ⇒ OpenCV::モザイク処理2