• ベストアンサー

画像処理に精通した方にお聞きしたい!

C言語の画像処理についてです。 ●入力画像 2値・640×480 画像内には文字が1文字書かれている(今回はひらがなを想定) 入力画像から、「同一方向に伸びている線」を抽出したいと考えています。 ひらがな全般においての抽出を考えており、このような表現となってしまいます。 これを平たく言うと、文字を構成する複数の線の中でも、「一般的に直線に近い線」ということです。 例えば、ひらがなの「は」の縦棒や横棒のことです。また、ひらがなの「お」の3画目のように、比較的短い線も抽出の対象にしたいと考えています。また、線として画像内で完全に独立したものはもちろん、ひらがなの「け」の2~3画目のように交差してしまっている線についても、それぞれきちんと分離させた上で抽出を行いたいです。 ヒストグラムやラベリングなど、画像処理については本を参考にして勉強中です。 「こういう処理を使えば?」など、断片的でも良いので、よろしければご教授願います。

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

  • ベストアンサー
  • semisemi
  • ベストアンサー率72% (8/11)
回答No.2

私も全然専門家ではないのですが、ハフ変換ではダメでしょうか? 画像から直線を検出することができます。 検出された直線の位置や傾きなどを調べればいろいろできるように思います。 ただ、ひらがなを読み込ませることを想定していらっしゃるようなので、直線といっても微妙に曲線ですよね…。 読み込ませる画像がどういうものかわからないので何ともですが(手書き文字でしょうか?)、ハフ変換でshirai_0502さんのやりたいことが出来ないか検討してみてはいかがでしょう? googleで検索すると色々と情報があります。 wikipediaにも詳しく書かれていました。

noname#176135
質問者

補足

手書き文字を読み込ませることを想定しており、おっしゃる通り、微妙に曲線になります。あまりにカーブが大きいような線は対象外です。また検討してみます・・

その他の回答 (1)

  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

全然精通していませんが、太さのある文字だと1ピクセルの線になるまで細らせると線として抽出できます。 ImageJというアプリケーションがあり、基本的な手法を試すことができます。 http://rsbweb.nih.gov/ij/ 本来は画像の数値化などに使われるソフトですが、いろいろと試してみてください。 メニューのProcess->Binary->Skeletonizeで先に書いた処理が可能です。

noname#176135
質問者

お礼

回答ありがとうございます。確認してみますね。

関連するQ&A

専門家に質問してみよう