最終更新: mikk_ni3_92 2010年03月04日(木) 18:40:23履歴
現在地 >> メニュー >> CUDA >> CUDA編04
INDEX: CUDA編03 << CUDA編04 >> CUDA編05
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」は次のような意味
必要な引数を与えれば勝手にやってくれる。
ただし、画像を格納する変数「data」は必ずNULLで初期化する必要がある。
【例】
画像を保存する関数も用意されている。
【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);
【例】
INDEX: CUDA編03 << CUDA編04 >> CUDA編05
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);//メモリ破棄
画像を保存する関数も用意されている。
【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));