「画像のリサイズ」の編集履歴(バックアップ)一覧はこちら
「画像のリサイズ」(2010/09/27 (月) 19:57:49) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
//---------------------------------------------------------
// 概要 : 画像のリサイズ
// File Name : Resize_test.cpp
// Library : OpenCV for MS-Windows 1.0
// Auther : Yasuhiro Yoshimura
// Date : Dec 06, 2006; 05:19
//---------------------------------------------------------
#include <stdio.h>
#include "cv.h"
#include "cxcore.h"
#include "cvaux.h"
#include "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;
}
http://chihara.naist.jp/opencv/?%B2%E8%C1%FC%A4%CE%A5%EA%A5%B5%A5%A4%A5%BA