C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.51622 の関連記事表示

<< 0 >>
■51622  画像の文字読み取りコンポーネントを探しています
□投稿者/ モグタン星人 -(2010/07/12(Mon) 16:14:00)

    分類:[VB.NET/VB2005 以降] 

    現在作成しているアプリケーション(VB2008で作成)に、いわゆるOCR機能のような
    画像(ビットマップ)を読み取り、画像上の文字を読み取ることができるような機能を搭載したいのですが、
    そのような.netコンポーネントは市販(あるいはフリーで提供)されていますでしょうか?
    ちなみに、画像の背景は白地で、文字は黒を想定しています。
    どうぞよろしくお願いいたします。
親記事 /過去ログ87より / 関連記事表示
削除チェック/

■51623  Re[1]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ 魔界の仮面弁士 -(2010/07/12(Mon) 16:32:42)
    2010/07/12(Mon) 16:56:36 編集(投稿者)

    No51622 (モグタン星人 さん) に返信
    > 現在作成しているアプリケーション(VB2008で作成)に、いわゆるOCR機能のような
    Microsoft Office にも OCR 機能が搭載されています。
    http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200805/08050013.txt

    > 画像(ビットマップ)を読み取り、画像上の文字を読み取ることができるような機能を搭載したいのですが、
    ハードウェア限定(OCRスキャナ、デジタルペン等)/特定スキャナ向け/TWAIN対応/画像汎用/
    活字認識用/手書き文字認識用/欧文特化/マークシート対応/
    名刺読み取り特化/新聞・雑誌向け/固定フォーマット/フリーフォーマット/
    文書管理用途/視覚障害者向け用途/郵便物用などなど、
    要件によって多種多様な OCR コンポーネントが販売されています。

    それぞれの実装は、ActiveX になっている物もあれば、Declare 宣言して使うタイプの API になっているもの、
    .NET のマネージ API として実装されているものなど、製品によってまちまちです。

    > そのような.netコンポーネントは市販(あるいはフリーで提供)されていますでしょうか?
    国内外を google 検索すると、幾つかの背品が見つかるかと思いますので、要件にあうかどうか、
    それぞれのメーカーに仕様を電話かメールで問い合わせてみては如何でしょう。

    とりあえず、検索して出てきた製品群です。
    VB からの制御が可能かどうかまでは調べていませんので、
    必要であれば各社に問い合わせてみて下さい。
    (メーカーによっては、評価版CD-ROM を郵送してくれる所もあったはず)

    ・株式会社PFU(製品例:DynaEye)
    ・メディアドライブ株式会社(製品例:e.Typist)
    ・パナソニック ソリューションテクノロジー株式会社(製品例:読取革命)
    ・ソースネクスト株式会社(製品例:本格読取)
    ・エプソン株式会社(製品例:A.I.SOFT 読んde!!ココ)
    ・株式会社クロスランゲージ(製品例:読取ワールド)
    ・株式会社ハンモック(製品例:TeleForm)
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51624  Re[2]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ モグタン星人 -(2010/07/12(Mon) 16:43:08)
    No51623 (魔界の仮面弁士 さん) に返信
    > ■No51622 (モグタン星人 さん) に返信
    >>現在作成しているアプリケーション(VB2008で作成)に、いわゆるOCR機能のような
    > Microsoft Office にも OCR 機能が搭載されています。
    > http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200805/08050013.txt

    魔界の仮面弁士さん、書き込みありがとうございます。
    Microsoft OfficeのOCR機能は、レイトバインドは可能でしょうか?
    もし可能であれば、試してみたいと思います。

    OCRコンポーネントがいくらくらいするのかとグレープシティのサイトを見ると、
    高機能のためかけっこう高いですね。
    それほどの機能はいらないですけれど。
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51626  Re[3]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ 魔界の仮面弁士 -(2010/07/12(Mon) 17:24:05)
    No51624 (モグタン星人 さん) に返信
    > Microsoft OfficeのOCR機能は、
    アプリとしては、mspview.exe です。

    > レイトバインドは可能でしょうか?
    参照設定して使う方法では、何か都合が悪いのでしょうか?

    レイトバインドの場合、イベント(例:OnOCRProgress)の取り扱いに苦労することには
    なるでしょうが、それでも構わなければ、参照設定せずに使うことも可能だと思います。
    VB.NET からの利用経験はありませんが、少なくとも VBScript からも利用できていましたし。

    Set doc = CreateObject("MODI.Document")
    Call doc.Create("C:\sample.png")
    Call doc.OCR(&H11, False, False)
    Call MsgBox(doc.Images(0).Layout.Text)


    手元に VB.NET の実行環境が無いのですが、以前、VB6 で書いたときのコードや
    C# + 参照設定で呼び出したときのコードを元にすると、こんな感じだと思います。
    (エラー処理やオブジェクトの解放処理などのコードは省いています。

    doc = CreateObject("MODI.Document")
    doc.Create("C:\sample.png")
    '&H800 = MiLANGUAGES.miLANG_SYSDEFAULT
    ' &H9 = MiLANGUAGES.miLANG_ENGLISH
    ' &HC = MiLANGUAGES.miLANG_FRENCH
    ' &H11 = MiLANGUAGES.miLANG_JAPANESE
    ' &H12 = MiLANGUAGES.miLANG_KOREAN
    '&H404 = MiLANGUAGES.miLANG_CHINESE_TRADITIONAL
    '&H804 = MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED
    doc.OCR(&H11, False, False)

    images = doc.Images
    Console.WriteLine(images.Count)
    img = images(0)
    layout = img.Layout
    Console.WriteLine(layout.Text)
    words = layout.Words
    Console.WriteLine(words.Count)
    word = words(0)
    Console.WriteLine(word.Text)
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51627  Re[4]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ オショウ -(2010/07/12(Mon) 17:50:10)
    >>Microsoft OfficeのOCR機能は、
    > アプリとしては、mspview.exe です。

      をを〜使ってみました。

      因みに、文字の大きさ(画素数)が大きくないと誤認しやすいみたい。
      調整がどこまでできるか解りませんが・・・

    ※ フォントの大きさ的に言えば、20pointは必要(日本語の場合)
      英数字ならばもっと小さくても大丈夫かも。

    以上。参考まで
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51630  Re[4]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ モグタン星人 -(2010/07/12(Mon) 20:45:48)
    No51626 (魔界の仮面弁士 さん) に返信
    魔界の仮面弁士さん、ありがとうございます。
    レイトバインドにしたい理由は、これのバージョンに依存せずに使いたいことと、
    これがインストールされていないPCでは例外処理できるようにしたいからです。

    とりあえず、以下のようにしてみたら、「OCR Running error」というComExceptionが発生しました。

    Dim doc As Object = CreateObject("MODI.Document")
    doc.Create(画像ファイルのパス)
    doc.OCR(&H11, False, False) 'ここでOCR Running errorとなる

    これは何が原因なのでしょうか?
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51637  Re[5]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ 魔界の仮面弁士 -(2010/07/13(Tue) 10:04:23)
    2010/07/13(Tue) 10:07:11 編集(投稿者)

    No51627 (オショウ さん) に返信
    > ※ フォントの大きさ的に言えば、20pointは必要(日本語の場合)
    20pt を必要としたということは、恐らく、元画像が 72〜96dpi 程度だったのでは無いでしょうか。
    充分な解像度があれば、ポイント数の小さい文字であっても判読できる可能性が高いです。

    MODI に限らず一般的な日本語 OCR の場合、最低でも 300 dpi、できれば 400 dpi 以上の
    解像度を用意すると認識率が安定すると思います。白黒(あるいはグレースケール)だとなお良し。
    (元データが名刺ならば、長辺が 1000〜1500ドットぐらいになる解像度です)

    加えて言えば、OCR ソフトによっては、画像そのもののピクセル数だけではなく、画像データ中の
    DPI 設定(BMP なら bi{X/Y}PelsPerMeter)が重要になることもあります。

    なお、画面ハードコピーからの日本語認識を主とする場合には、汎用OCRソフトだけでなく、
    視覚障害者対応のソフトにも目を向けておくと良いかもしれません。
    # モグタン星人さんの利用目的が分からないので、どのような製品が適切なのかは分かりませんが。


    No51630 (モグタン星人 さん) に返信
    > レイトバインドにしたい理由は、これのバージョンに依存せずに使いたいことと、
    MODI の場合、Office XP でのサポートは限定的であるため、実質、
    利用可能な環境が Office 2003 または 2007 に限られると思います。
    Office 2010 には含まれていないので注意してください。
    http://support.microsoft.com/kb/982760/ja

    > Dim doc As Object = CreateObject("MODI.Document")
    インスタンスを生成できるという事は、インストールは済んでいるようですね。

    > doc.Create(画像ファイルのパス)
    > doc.OCR(&H11, False, False) 'ここでOCR Running errorとなる
    どのバージョンをお使いですか?

    Office 2003 だとしたら、とりあえず miLANG_SYSDEFAULT を試してみてください。
    というのも、Office 2007 版のヘルプには、
    》「Microsoft Office Document Imaging の新機能」
    》OCR には、次のサポートが追加されました。
    》・東アジア言語のテキストが認識されます。
    という表記があるためです。

    2007 を利用しているのに使えない場合は、最新版の Service Pack を適用するか、
    KB951165 の修正パッチを利用してみて下さい。
    http://support.microsoft.com/kb/944244/ja
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51638  Re[6]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ モグタン星人 -(2010/07/13(Tue) 10:21:35)
    No51637 (魔界の仮面弁士 さん) に返信
    魔界の仮面弁士さん、いつもありがとうございます。
    とりあえず英数字を認識できればいいので、言語の引数を
    &H9(MiLANGUAGES.miLANG_ENGLISH)にし、画像を拡大したら読み取りでき、
    また、「OCR Running error」というComExceptionが消えました。
    どうやら読み取りに失敗するとこの例外が発生するようです。

    また、

    > Office 2010 には含まれていないので注意してください。
    > http://support.microsoft.com/kb/982760/ja

    もし、Office 2010を使用している場合、Microsoft提供のOCR機能は使えないのでしょうか?
    よろしくお願いいたします。
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51666  Re[7]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ やじゅ -(2010/07/13(Tue) 20:31:36)
>
記事No.51622 のレス /過去ログ87より / 関連記事表示
削除チェック/

■51697  Re[8]: 画像の文字読み取りコンポーネントを探しています
□投稿者/ モグタン星人 -(2010/07/14(Wed) 14:00:59)
    No51666 (やじゅ さん) に返信
    やじゅさん、サイトの紹介ありがとうございます。
    ちょうど、私も紹介して頂いたサイトを見つけました。

    > tessnet2_32.dll .NET wrapper Library
    > http://www.pixel-technology.com/freeware/tessnet2/

    とりあえずは英数字のみのスキャンでいいので、言語を英語にして、ちょっと試してみました。
    (英数字以外を無理やり英数字に変換しようとしていました。)
    これで何とかやってみようと思います。

    ありがとうございました。
記事No.51622 のレス / END /過去ログ87より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -