2値化をしてみる

寄稿:東條遼平

解析に使える処理

2値化とはある閾値を設け,それより上か下かで完全に分けてしまう処理です.0から255のRGBによって色を表現していますが,これを例えば100未満の値を0に, 100以上を全て255にするといった処理を行います.

2値化の処理は特に面白い変化をするわけでもないので,自分が持っている画像に対して直接2値化行ってWebページに掲載するというような事もないと思いますが,画像の解析のような分野では使われてるようです.もっともこんな単純に2値化しているかどうかは知りませんが.

自分は画像の解析は殆どやったことが無いに等しいのでかなり憶測なのですが,2値化を使うのは画像に写った物体の有る無しが,うまく2値化してやることで値の有る無しに置き換えられるため処理が楽になる為じゃないかと思います.

前置きが長くなりましたが,以下がソースコードです.といってもこのページの最初の文をC言語に置き換えただけです.特に説明は要らないと思います.

void Binarization(Image *img, int threshold)
{
  int i;

  for(i=0; i<img->width*img->height; i++){
    if(img->rgb[i].r < threshold) 
         img->rgb[i].r = img->rgb[i].g = img->rgb[i].b = 0;
    else img->rgb[i].r = img->rgb[i].g = img->rgb[i].b = 255;
  }
}
Valid XHTML 1.1! home > コンピュータ > プログラミング >
リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.3.29HTML convert time to 0.008 sec.