現在地 >> メニュー >> CUDA >> CUDA編04
INDEX: CUDA編03 << CUDA編04 >> CUDA編05

CUTILと画像


CUTILには、PPM、PGM画像を読み込む関数、保存する関数が用意されている。

【PGM画像】
 ■CUTBoolean cutLoadPGMub( const char* file, unsigned char** data,unsigned int *w,unsigned int *h);
 ■CUTBoolean cutLoadPGMi( const char* file, unsigned int** data, unsigned int* w, unsigned int* h);
 ■CUTBoolean cutLoadPGMs( const char* file, unsigned short** data, unsigned int* w, unsigned int* h);
 ■CUTBoolean cutLoadPGMf( const char* file, float** data,unsigned int* w, unsigned int* h);
【PPM画像】
 ■CUTBoolean cutLoadPPMub( const char* file, unsigned char** data, unsigned int *w,unsigned int *h);
 ■CUTBoolean cutLoadPPM4ub( const char* file, unsigned char** data, unsigned int *w,unsigned int *h);

返り値「CUTBoolean」は次のような意味
  • CUTTrue→ 成功
  • それ以外→ 失敗

使い方


必要な引数を与えれば勝手にやってくれる。
ただし、画像を格納する変数「data」は必ずNULLで初期化する必要がある。

【例】
float *imgData = NULL;//NULLポインタで必ず初期化。
unsigned int w,h;

if( CUTTrue != cutLoadPGMf("lena.pgm",&imgData,&w,&h) )
{
	std::cerr << "Can't Load Image\n";
	CUT_EXIT(argc, argv);//終了
}

cutFree(imgData);//メモリ破棄

【注意点】

CUTILで確保したメモリは「cutFree関数」で解放する。

PGM、PPM画像の保存


画像を保存する関数も用意されている。

【PGM画像】
 ■cutSavePGMub( const char* file, unsigned char* data, unsigned int w, unsigned int h);
 ■cutSavePGMi( const char* file, unsigned int* data,unsigned int w, unsigned int h);
 ■cutSavePGMs( const char* file, unsigned short* data,unsigned int w, unsigned int h);
 ■cutSavePGMf( const char* file, float* data,unsigned int w, unsigned int h);
【PPM画像】
 ■cutSavePPMub( const char* file, unsigned char *data, unsigned int w, unsigned int h);
 ■cutSavePPM4ub( const char* file, unsigned char *data, unsigned int w, unsigned int h);

【例】
float *imgData = NULL;
unsigned int w,h;
… 何らかの処理が行われた …
CUT_SAFE_CALL( cutSavePGMf( "InveseImage.pgm", imgData, w, h));

サンプルコード

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます