• ベストアンサー

ビットマップの2値化

モノクロビットマップ画像を2値化したいのです。 出来れば可変閾値を使ったもの、 あるいは2値化の前にエッジを強調する処理を施してからと言う物を作りたいと思っています。 何か参考なるソース、どんな風なプログラムを組めばいいかなど教えてくださるとうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

> あるいは2値化の前にエッジを強調する処理を > 施してからと言う物を作りたいと思っています。 エッジ検出方法としては,Sobel,Prewitt などの1階微分フィルタ,Laplacian (8方向,4方向) のような2階微分フィルタがよく使われているようです. 1次微分 (差分) によるエッジ検出 http://www.mis.med.akita-u.ac.jp/~kata/image/sobelprew.html 2次微分 (差分) によるエッジ検出 http://www.mis.med.akita-u.ac.jp/~kata/image/lap8.html ラプラシアンフィルタ~画像処理への応用 その2 http://www.shader.jp/xoops/html/masafumi/directx9/Monkey/rm012.htm ↓を見ると他にも色々あるようです. SPIDER-II (画像処理用 FORTRAN サブルーチン・パッケージ) 機能一覧表 http://unit.aist.go.jp/intelprop/tlo/spi2sub2.htm 画像処理や画像認識は,動かしてみないとうまくいくかどうかわからないことが 多いので,事前に机上であれこれ考えて方法を決めるのではなく,色々な方法を 試しながら改良していく方がうまくいきます.

その他の回答 (2)

  • yasuch
  • ベストアンサー率41% (27/65)
回答No.3

二値化は「大津の方法」というのが 比較的広く使われているのでは ないでしょうか。 実装も比較的簡単ですよ。

参考URL:
http://www.mm.media.kyoto-u.ac.jp/education/DIP/WEBPAGE_SECTION/section7/node2.html
  • rom_exe
  • ベストアンサー率44% (13/29)
回答No.2

 こんにちは ^^  自分が画像処理プログラムを作った時の経験からアドバイスさせていただきます.  まず,shou3さんの使用される環境はどのようなものですか? OS,コンパイラなどによって,使用できるAPIが変わってきますので,皆さんのアドバイスも変わってくると思います.  ところで,画像処理を行うためには,実は画像がどのように保存されているのかや,プログラムで画像を扱うためのAPIなど,多くのことを知らなければなりません.自分はwin2kでVC++を使ったプログラムを作り,その際には以下のことを勉強しました. ・画像処理の理論(noocyteさんの仰られていること) ・Bitmapファイルフォーマット(ヘッダ部とデータ部と・・・) ・WINAPIにおけるBitmapの取り扱い(HDCとPAINTSTRUCTと・・・)  BitmapファイルフォーマットやWINAPIに関してはネット上にデータが多く存在しますので,自前で勉強されても良いと思います.がんばって下さい ^^

関連するQ&A

専門家に質問してみよう