サンプルプログラム(1)

サンプルプログラム(1)
/*%%%%%%%%%%%%%%%%%%%%%% Begin Source-Code %%%%%%%%%%%%%%%%%%%%%%%%%%*/
///////////////////////////////////////////////////////////////////////
//
Sample Program for Image Rotation
//
//
by H. Nagahashi
//
///////////////////////////////////////////////////////////////////////
#include
//
//
//
"iip.h"
画像の回転は、反時計周りを正方向として角度で指定する
画像の左上端を原点として、(oy,ox) を回転中心とする
画像表示エリアは、元の画像サイズ
int main(int argc,char *argv[])
{
if (argc!=6 ||(argc>1 && strcmp(argv[1],"help")==0)) {
cout << "\nUsage:" << argv[0] << " inputPGM rotationAngle"
<< " center_x center_y " << " outPGM" << endl;
exit(1);
}
// 画像データの読み込み
PGM& pgm = readPGM(argv[1]);
//回転パラメータの取得
int angle, ox, oy;
sscanf_s(argv[2],"%d",&angle);
sscanf_s(argv[3],"%d",&ox);
sscanf_s(argv[4],"%d",&oy);
//作業エリアの確保
PGM& ary1 = createPGM(pgm.body.height, pgm.body.width);
rotateArray(pgm.body, ary1.body, angle, ox, oy);
//画像の出力
writePGM(ary1, argv[5]);
deletePGM(ary1);
deletePGM(pgm);
return 0;
}
/*%%%%%%%%%%%%%%%%%%%%%%%% End Source-Code %%%%%%%%%%%%%%%%%%%%%%%%%%*/
1