ここから本文です

回答受付中の質問

知恵コレに追加する

ヘッダーと画像を読み取る関数と書き取る関数は別に作ってあり分割してコンパイル...

abc9540xyzさん

ヘッダーと画像を読み取る関数と書き取る関数は別に作ってあり分割してコンパイルさせます。
後は下のここだけの部分を変えてモザイクをつけるのと画像の大きさを半分にします。

モザイク (image1mozaic.c)


in.bmp に 4×4 ピクセルでモザイクをかけて out.bmp に出力するプログラム image1mosaic.c を作成せよ. 4×4 ピクセル毎に (その 16 画素の) 平均値を計算し, その値をその 4×4 ピクセルすべてに代入すればよい.
(6) 縮小 (image1half.c)


in.bmp のサイズを半分に縮小して out.bmp に出力するプログラム image1half.c を作成せよ.
新画像の (x,y) のピクセルの値を, 元画像の (2x,2y), (2x,2y+1), (2x+1,2y), (2x+1,2y+1) の平均値とすればよい.
ヘッダの biWidth と biHeight の値を半分にせよ.


#include <stdio.h>
#include "image1.h"

void bmp_cool(bmp_header_t *hd, pixel_t img[MAX_Y][MAX_X]);


int main(void)
{
bmp_header_t hd;
pixel_t img [MAX_Y][MAX_X];

bmp_read("in.bmp", &hd, img); /* in.bmp から読み込む */
bmp_cool(&hd, img); /* 処理の呼び出し */
bmp_write("cool.bmp", &hd, img); /* out.bmp への書き出し */

return 0;
}


/* ここだけを変えてプログラミングを作成します。 */
void bmp_cool(bmp_header_t *hd, pixel_t img[MAX_Y][MAX_X])
{
int i, j;

for (i=0; i< hd->biHeight; i++) { /* biHeight は画像の高さ */
for (j=0; j< hd->biWidth; j++) { /* biWidth は画像の幅 */
img[i][j].R = img[i][j].R;
img[i][j].G = img[i][j].G;
img[i][j].B = img[i][j].B;
}
}
/************** ここまで *************************************************/

}

違反報告

この質問に回答する

回答

(2件中1〜2件)

並べ替え:回答日時の
新しい順
古い順

 

rainy_996さん

それで「質問」は何?
書いてる内容は「質問」ではなく、何かの「問題」を解くことを閲覧者に強要しようとしているだけのようだけど?

ここは「丸投げの代行サイト」ではないことだけはたしかだが。

yurugoaさん

老婆心ながら・・・

前の質問(2010/10/10 18:19:37)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1448438524
に回答がついているのに補足すら書き込まず放置のままなのに、今回のような文章につながりがなく意味不明(聞きたいことを明記していない)な質問投稿(まあ、文面から演習問題の文面をコピーしただけのようで、演習代行を要求しているのは伝わりますが)など、無視されるだけです。

元のbmp_cool()関数はリソースを消費するだけのダミー関数ですが、問題文のなかに書かれているbmp_cool()でやるべきことをプログラムするためのヒントになっています。

この質問に回答する

この質問に付けられたタグ

タグとは

PR

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:C言語関連]

ただいまの回答者

14時31分現在

2847
人が回答!!

1時間以内に5,511件の回答が寄せられています。

>>回答ひろばに行く