25枚の写真の平均

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
saito

25枚の写真の平均

#1

投稿記事 by saito » 13年前

大学の課題でmale00.pgm,male01.pgm,male02.pgm~male24.pgmまでの25枚の画像から平均画像を作れというものが出ました
例として下はBaboon150.pgm", Lena150.pgm", Cameraman150.pgm",の3つの画像から平均画像をつくるプログラムです
画像の読み込みの部分に3つの画像が書いてありますけど、ここでfor文を使ってmale01~male24までの画像を読み込ませるみたいです
まだまだC言語を勉強をし始めて間もないもので修正すればいいのかわかりません、なにとぞご教授ください、お願いします

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


//以下より下の行では TAKASA および HABA という記述が自動的に 40 という記述に置き換えられる
#define TAKASA 150
#define HABA 150


//関数プロトタイプ宣言
void input_pgm(char *imgname, int img[TAKASA][HABA]);
int getint(FILE *fp);


int main(void)
{
/*************************************************************************/
// 変数宣言
int k, n, x, y;
int img_in[3][TAKASA][HABA];
int img_out[TAKASA][HABA];
FILE *fp;

// 画像の読み込み
input_pgm("Baboon150.pgm", img_in[0]);
input_pgm("Lena150.pgm", img_in[1]);
input_pgm("Cameraman150", img_in[2]);

// 画像処理
n = 3; //画像の枚数
for(y=0; y<TAKASA; y++)
{
for(x=0; x<HABA; x++)
{
img_out[y][x] = 0;
for(k=0; k<n; k++)
{
img_out[y][x] += img_in[k][y][x];
}
img_out[y][x] = img_out[y][x] / n;
}
}

// 画像の書き出し
fp = fopen("sp09_r4.pgm", "w");
fprintf(fp, "P2 \n");
fprintf(fp, "# Created by %s \n", "hidaka akinori");
fprintf(fp, "%d %d \n", HABA, TAKASA);
fprintf(fp, "255 \n");
for(y=0; y<TAKASA; y++)
{
for(x=0; x<HABA; x++)
{
fprintf(fp, "%d ", img_out[y][x]);
}
fprintf(fp, "\n");
}
fclose(fp);
/*************************************************************************/

printf("フォルダに正しく画像ファイルが作成されたか確認してください.\n\n");
exit(0);
}

アバター
bitter_fox
記事: 607
登録日時: 14年前
住所: 大阪府

Re: 25枚の写真の平均

#2

投稿記事 by bitter_fox » 13年前

saito さんが書きました:大学の課題でmale00.pgm,male01.pgm,male02.pgm~male24.pgmまでの25枚の画像から平均画像を作れというものが出ました
例として下はBaboon150.pgm", Lena150.pgm", Cameraman150.pgm",の3つの画像から平均画像をつくるプログラムです
画像の読み込みの部分に3つの画像が書いてありますけど、ここでfor文を使ってmale01~male24までの画像を読み込ませるみたいです
まずこのプログラムを日本語で説明することは出来ますか?

ちなみにこの問題は実質的には「文字列male00.pgm~male24.pgmを作れ」と言ったものに帰着できるかと思います。
[hr][追記]
ソースコードを載せる際はcodeタグで囲ってください。
詳しくはフォーラムルールをお読みください。

texture_man

Re: 25枚の写真の平均

#3

投稿記事 by texture_man » 13年前

プログラムをコードタグ括ったのか・・・?
全部見てないが、パっと見、画像処理が怪しいけど 見にく過ぎて読めないよ。

TT414

Re: 25枚の写真の平均

#4

投稿記事 by TT414 » 13年前

int img_in[25][TAKASA][HABA];/*3から25に変更*/
以下は変更というか追加です。
int i;
for(i=0;i<25;i++){
char file_name[100];
sprintf(file_name,"male%02d.pgm",i)
input_pgm(file_name, img_in);
}

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 25枚の写真の平均

#5

投稿記事 by softya(ソフト屋) » 13年前

TT414さんはsaitoさんと同じ方ですか? 理由のない名前の変更はお避け下さい。
codeタグもそうですがフォーラムルールの確認をお願いします。
http://dixq.net/board/board.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る