raw形式からbmp形式への書き込み (画像処理)
今、raw形式のファイルを読み込んで、bmp形式への書き込みを
行うプログラムを作成しているのですがうまくいきません.
作成したプログラムの一部は以下のようになっています.
------------------rawファイルを読み込む関数の一部-------------
//1次元配列の確保
tmp=us_Calloc2(width,height);
//画像の読み込み
fread(tmp,sizeof(unsigned short),width*height,fp);
//2次元配列の確保
img->data=us_Calloc1(width,height);
//1次元配列から2次元配列にデータを移動する
for(i=0; i<height; i++){
for(j=0; j<width; j++){
img->data[i][j]=tmp[(width*i)+j];
}
}
------------------------------------------------------------
--------------bmpファイルに書きこむ(一部)--------------
//bufのメモリ領域の確保
buf=us_Calloc2(width,height);
for(i=0; i<height; i++){
for(j=0; j<width; j++){
buf[(width*i)+j]=img->data[i][j];
}
}
//BMPのファイルヘッダーの出力(省略)
//BMPの情報ヘッダーの出力(省略)
//画像データの出力
if(fwrite(buf,sizeof(unsigned short),size,fp)!=size){
printf("画像をBMPに書き込むことができませんでした.\n");
free(buf);
fclose(fp);
exit(-1);
}
}
このように書いたのですが、うまくBMPファイルに出力できません.
アドバイスよろしくお願いします.