デジタルコンピューティング課題2 : テキストデータ

デジタルコンピューティング レポート2
プログラム
Command::run()
{
for(int h = 1 ; h < _height-1 ; h++)
{
for(int w = 1 ; w < _width-1 ; w++){
_image[h][w*3 ] = (_image[h][w*3 ]+_image[h+1][w*3 ]+_image[h-1][w*3 ]+_image[h][(w+1)*3 ]+_image[h+1][(w+1)*3 ]+_image[h-1][(w+1)*3 ]+_image[h][(w-1)*3 ]+_image[h+1][(w-1)*3 ]+_image[h-1][(w-1)*3 ])/9; //R
_image[h][w*3 +1 ] = (_image[h][w*3+1 ]+_image[h+1][w*3+1 ]+_image[h-1][w*3+1 ]+_image[h][(w+1)*3+1 ]+_image[h+1][(w+1)*3+1 ]+_image[h-1][(w+1)*3+1 ]+_image[h][(w-1)*3+1 ]+_image[h+1][(w-1)*3+1 ]+_image[h-1][(w-1)*3+1 ])/9; //G
_image[h][w*3 +2 ] = (_image[h][w*3+2 ]+_image[h+1][w*3+2 ]+_image[h-1][w*3+2 ]+_image[h][(w+1)*3+2 ]+_image[h+1][(w+1)*3+2 ]+_image[h-1][(w+1)*3+2 ]+_image[h][(w-1)*3+2 ]+_image[h+1][(w-1)*3+2 ]+_image[h-1][(w-1)*3+2 ])/9; //B
}
fprintf(stderr, "\b\b\b\b\b\b\b\b\b%4d/%4d", h+1, _height);//進捗状況を出力
}
fprintf(stderr, "\n");
return true;
};
//終了処理(ファイルにセーブする)
bool
実行結果 (左:元データ 右:変換後)
3×3画素の大きさの平均化フィルタをかけました。画像に含まれるノイズなどの不要な濃淡変化を軽減してぼんやりした画像になった。