• ベストアンサー

組織的ディザ法が分からん!!

orangeclockの回答

回答No.1

間違ってます。 すべての画素に同一のしきい値を適用するわけじゃありません。 比較するしきい値は、画素ごとに変化させることができる、というのが ディザ法のポイントです。 組織的ディザ法の場合は、N×Nのしきい値マトリックスを使います。 教科書の「組織的ディザ法の原理」の説明を、もう一度よく読んでみて ください。

noname#9262
質問者

補足

しきい値は所々違っても最終的には黒か白かになるんですよね?そうしたら、灰色に見えるのはおかしくありませんか?

関連するQ&A

  • 組織的ディザ法のプログラムがうまくいきません

    下記のプログラムはPGM画像に組織的ディザ法を行い、2値化を行うプログラムなのですがうまく作動しません。 どこがダメなのかわかる方回答お願いします。 また、PGMのフォーマットをP5しか読み込むことしか出来ないのですが、これを P2のアスキーで読み込めるように変更できないでしょうか? /* 組織的ディザ法のプログラム dither.c */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include"mypgm.h" #define BLOCK_SIZE 4 /* ブロックの横(=縦)画素数 */ #define NEW_LEVEL 16 /* 擬似階調数(= BLOCK_SIZE の2乗) */ #define MAXWIDTH 1000 #define MAXHEIGHT 1000 /* 原画像 image1[y][x] のディザ画像を作り image2[y][x] に代入 */ void make_dither_image( ) { double width; /* 16段階画像の階調値の単位幅 */ int x,y,i,j,m,n; int x_block = x_size1 / BLOCK_SIZE; /* 横のブロック数 */ int y_block = y_size1 / BLOCK_SIZE; /* 縦のブロック数 */ int gray_16 = (int)( image1[y][x] / width ); /* 新しい階調(16階調での値) */ /* Bayer 型ディザ行列 */ int dither_matrix [4][4] = { { 0, 8, 2, 10}, {12, 4, 14, 6}, { 3, 11, 1, 9}, {15, 7, 13, 5} }; /* 横,縦の画素数がBLOCK_SIZEの倍数であるかのチェック */ if ( x_size1 % BLOCK_SIZE != 0 || y_size1 % BLOCK_SIZE != 0 ){ printf("原画像の横・縦の画素数が不適切です.\n"); exit(1); } /* 16階調の画像を作る */ //一度、画像を16階調に変換して(正確にはディザブロック分の1)さらに2階調(白黒)に変換する。 width = MAX_BRIGHTNESS / (double)NEW_LEVEL; x_size2 = x_size1; y_size2 = y_size1; for (y = 0; y < y_size1; y ++ ){ for (x = 0; x < x_size1; x ++ ){ if ( gray_16 > NEW_LEVEL - 1 ) gray_16 = NEW_LEVEL - 1; image2[y][x] = (unsigned char)gray_16; } } /* ディザ画像を作る */ printf("ディザ画像を作ります.\n"); for (i = 0; i < y_block; i ++ ){ for (j = 0; j < x_block; j ++ ){ int x = BLOCK_SIZE * j; int y = BLOCK_SIZE * i; for (m = 0; m < BLOCK_SIZE; m ++ ){ for (n = 0; n < BLOCK_SIZE; n ++ ){ if ( image2[y + m][x + n] <= dither_matrix[m][n] ) image2[y + m][x + n] = 0; else image2[y + m][x + n] = MAX_BRIGHTNESS; } } } } } 【mypgm.h】 http://cis.k.hosei.ac.jp/~wakahara/mypgm.h

  • Irfanviewでの2値化について

    Irfanviewでグレースケールでスキャンした原稿を2値化したいのですが、しきい値を変えることはできますか?また、できるとしたら、どのようにすればいいですか?(なるべく薄い灰色も黒に変換したいのです) 画像に詳しい方よろしくお願いいたします。

  • Photoshopで灰色の下地を白に変える。

    灰色の背景色に黒で絵が書いてある画像(スキャナで取り込んだもの)があります。 この下地の灰色を全て白にしたいのですが、塗りつぶしツールを使わずに、 一括で灰色を白に変換するようなことはできないのでしょうか。 例えば、画像内の#CCCCCCを全て#FFFFFFに変換するような機能があるのかなぁと思っているのですが。 塗りつぶしツールで地道に塗ることもできるのですが、黒い線の中の細かい部分で塗り漏れができてしまい とても手間が掛かるので困っています。 Photoshopのバージョンは5.5です。 よろしくお願いします。

  • どちらの色のワンピがいいでしょうか?

    Heatherというブランドのボーダーワンピ2色で迷っています。 画像のワンピなのですが、黒×灰色のボーダーか、黒×白のボーダーか…どちらが良いでしょうか? 今から春・夏だから黒×白の方が良いのかなとも思うし… ご意見宜しくお願いします。

  • 報道番組のコメンテーター

    報道ステーションなど、報道番組におけるコメントは 白と黒の中間の「灰色」を言えばいいのではないで しょうか。 白といえば、黒からパッシングされる。 黒といえば、白から同様。 大体、白黒の二元論は大人げなく、中間を置く方が 支持も高く、賢いものではないでしょうか。 局や(古舘)キャスターが「白」を期待すれば、「白に 近い灰色」、黒を望んでいれば「黒に近い灰色」を 述べれば、一応合格。 他の局からも呼ばれるかもしれない。 つまり、誰にでも勤まるのではないでしょうか。 違いますか。

  • 初心者の質問です。パソコンではこの様な設定は出来ないのでしょうか?

    パソコンを見るとき通常バックは白が多いと思います。 白が多いと反射するので目が痛くなるのです。 そこで考えたのですが、パソコンの設定で白ではなく 灰色で表示することは出来ないかな~と考えました。 通常白と黒ですが灰色と黒とか に出来ないのでしょうか? 白が少なくなってくれると、反射が少なく 目が疲れなくて良いと思いました。 またバックが白で文字が黒だと思うのですが、 それを反対にバックが黒で文字が白という様に することは出来ないのでしょうか?

  • HPの背景をグラデーションにしたい

    HPの背景を白→灰色→黒といったグラデーションにしたいのですが、どうする方法があるでしょうか? photoshopでそういった画像を作って貼るしかないでしょうか?尚ビルダ12とDreamwaverどっちもあります。

  • Nikon D200について

    Nikon の最新一眼レフデジカメ D200について教えてください。 ●サンプル画像には、新緑などの緑が鮮やかなものがありませんが、実写した感じでは、緑の葉の鮮やかさはどうですか?ちゃんと綺麗に緑が写りますか? ●今所有の某社のデジカメはホワイトバランスが太陽などの標準やユーザーセットでは、明るい白は白く写ります。しかし、暗い白(灰色)は赤っぽくなります。灰色でホワイトバランスをユーザーセットすると、灰色は灰色になりますが、白は緑っぽくなります。D200は明暗どこでもきちんとホワイトバランスが取れますか? ●エクタクロームのリバーサルフィルムのような鮮やかな色が出せますか?

  • コンクリートを白っぽく仕上げたい

    コンクリートをなるべく白っぽく仕上げたいのですが、 どうしたらよろしいでしょうか、 コンクリートの色には灰色 黒っぽいもの、白っぽいものとありますが 白っぽく仕上げたのです、どのようにしたらよろしいでしょうか? よろしくお願い致します。

  • 小沢…○白でもなく?●黒でもなく?…灰色なんですか?

    小沢…○白でもなく?●黒でもなく?…灰色なんですか?