/*=============================================*/
/* 2.1 ネガ画像の作成 */
/*=============================================*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main(void)
{
/*============================*/
/* 変数宣言部 */
/*============================*/
int i,j; //■ ループ用変数
unsigned char Pix[128][128]; //■ バイナリ画像データ格納用
char buff[128]; //■ ヘッダ抽出用
int x,y; //■ 画像ファイルのヘッダ操作用変数
FILE *fp; //■ ファイルポインタ
/*============================*/
/* 画像入力部 */
/*============================*/
fp=fopen("./image_data/Lenna.pgm", "rb" ); //■ read binaryモードで画像ファイルを開く
fgets(buff,128,fp); //■ ファイルの識別符号を読み込み
fgets(buff,128,fp); //■ 画像サイズの読み込み
fgets(buff,128,fp); //■ 最大輝度値の読み込み
//■ 画像データの読み込み
for(j=0;j<128;j++)
fread(Pix[j],sizeof(unsigned char),128,fp);
fclose(fp);
/*============================*/
/* 画像処理部 */
/*============================*/
for(j=0;j<128;j++){
for(i=0;i<128;i++){
printf("座標(%d,%d)のグレイレベルは%dです\n",i,j,Pix[j][i]);
}
}
/*============================*/
/* 画像出力部 */
/*============================*/
fp=fopen("./image_data/nega.pgm", "wb" ); //■ write binaryモードで画像ファイルを開く
fprintf(fp,"P5\n"); //■ ファイルの識別符号を書き込む
fprintf(fp,"128 128\n"); //■ 画像サイズを書き込む
fprintf(fp,"255\n"); //■ 最大輝度値を書き込む
//■ 画像データの書き込み
for(j=0;j<128;j++)
fwrite(Pix[j],sizeof(unsigned char),128,fp);
fclose(fp);
} // end_of_main
[戻る][Top]