C#で文字認識を行う

Microsoft Office をインストールすると、実は OCR ソフトがついてきます。C# からの利用も簡単です。下記のコードを、Visual C# Express 2005 または 2008 で作成し、参照設定に、 Microsoft Office Document Imaging 11.0 Type Library (MDIVWCTL.DLL) を追加してビルドしてください。

ボックス1 ソースコードのダウンロード (Visual C# Express 2008 用)
v1.0 (2008/07/21)

using System;
using System.Text;

/// <summary>
/// OCR with MicrosoftR Office By Martin Welker (CodeProject)
/// に基づく Office 2003 に依存したOCR処理。
/// Microsoft Office Document Imaging 11.0 Type Library
/// (MDIVWCTL.DLL) が別途必要
/// Office 2007 ではこのライブラリはデフォルトではインストールされない
/// ので、インストール時に、
/// Microsoft Office Document Imaging
///  + Microsoft Office Document Imaging Writer 
/// を追加選択しておく必要がある。
/// <seealso cref="http://www.codeproject.com/KB/office/modi.aspx"/>
/// </summary>
namespace OfficeOCRTest
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("OfficeOCRTest [画像ファイル名]");
                return;
            }

            string filename = args[0];

            try
            {
                MODI.Document doc = new MODI.Document();
                doc.Create(filename);

                // 読み取り言語を指定してOCR処理。
                // 英数字のみとわかっている場合には、
                // miLANG_ENGLISH を指定したほうが精度が高い
                doc.OCR(MODI.MiLANGUAGES.miLANG_JAPANESE, false, false);

                // 複数ページを持つ画像フォーマットに対応
                for (int i = 0; i < doc.Images.Count; i++)
                {
                    MODI.Image img = (MODI.Image)doc.Images[i];
                    MODI.Layout layout = img.Layout;

                    Console.WriteLine("* 1ページ分のデータ *");
                    Console.WriteLine(layout.Text);
                    Console.WriteLine();

                    // 同じデータを単語ごとに分割して出力
                    StringBuilder str = new StringBuilder();
                    for (int j = 0; j < layout.Words.Count; j++)
                    {
                        MODI.Word word = (MODI.Word)layout.Words[j];
                        str.Append("[" + word.Text + "]");
                    }
                    Console.WriteLine("* 単語に分割して出力 *");
                    Console.WriteLine(str.ToString());
                    Console.WriteLine();
                }
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}


たとえば、下の画像をこのコードで読み込むと、
サンプル画像

F:\> OfficeOCRTest.exe modi.jpg
* 1ページ分のデータ *
これは、 Microsoft Office Document Imaging 11 , 0 TyPe Library ( MDIVWCTL . DLL ) の利用サンプルです。

* 単語に分割して出力 *
[こ][れ][は][、][Microsoft][Office][Document][Imaging][11][,][0][TyPe][Library][(][MDIVWCTL][.][DLL][)][の][利][用][サ][ン][プ][ル][で][す][。]

のように認識結果が出力されます。今回のサンプルでは文字そのもののみを対象としましたが、文字の画像上の位置やフォント名なども取得可能です。詳細については、
OCR with MicrosoftR Office By Martin Welker (CodeProject)
を参照してください。
 初出: 2008/07/21 01:04 ささお * 内容は随時追記・更新しています。
| 技術メモ::ソフトウェア | comments (15) | trackback (1) |このエントリーを含むはてなブックマーク このエントリーをはてなブックマークする
コメント


<img src="https://avatars.mds.yandex.net/get-images-cbir/8303005/jG9ttQ3u9j-82GCeTbiLaQ3572/ocr" alt=" ">

Критикующий СВО российский актер Дмитрий Назаров отказался оказывать помощь ВСУ

Назаров высказал недовольство, что ему пишут и предлагают донатить ВСУ. «Все-таки нужно отдавать отчет, что есть какие-то вещи, на который я лично пойти не могу. Когда мне пишут, что собирают деньги для украинской армии на беспилотники. Вы с ума сошли? Вы всерьез это у меня, россиянина, спрашиваете?» - заявил актер.

Его жена, актриса Ольга Васильева, поняла, что теперь украинцы накинутся на них, п
| Vincentnoump | EMAIL | URL | 23/03/16 00:35 | Fcp/1yYE |
Esperio
ПРЕИМУЩЕСТВА
Активная реклама
Поддерживает торговлю криптовалютами
НЕДОСТАТКИ
Регистрация в оффшорной зоне
Замечены в накрутке отзывов
Нет инструмента для копитрейдинга
Отсутствует лицензия на ведение биржевой деятельности
Плохо описаны торговые условия

Вы потеряли деньги из-за Esperio?
Получите помощь по возврату от экспертов. Еще не поздно!
Узнать подробнее
Отзывы

иван
2/5.00Опубликован 10 месяцев назад
"НЕУДАЧНЫЙ ВЫБОР"
Хотел подыскать для себя источник дополнительного заработка. Нашел вариант, который меня да
| RobertquieT | EMAIL | URL | 23/03/03 16:52 | 9iPfWhCI |
Крупнейший в рунете сайт отзывов по накрутке черного PR для бизнеса и потребителей. Каждый день, то есть без выходных, у нас публикуются отзывы, мнения, комментарии и обзоры. Материалы пишут пользователи и гости. Вы тоже можете поделиться опытом и рассказать о себе или своём бизнесе или мнении о чем либо. Мы непрерывно развиваем инструменты коммуникации, которые облегчат вам поиск новых коллег, партнёров. Пожалуйста, будьте вежливы Ругань — палка в колесах конструктивных дискуссий. Мы здесь для того, чтобы учиться и развиваться, поэтому на пл
| Myronexcem | EMAIL | URL | 23/02/27 11:09 | fyj.BYd6 |
Добрый день. Товарищи!
Наша компания предоставялет интим услуги, лучшие телки с буферами, голые письки, отборная порнушка, анал, лесбиянки, все на нашем сайте.
Наша сайт -
Заходи и дрочи по полной !!!
| Denisacpe | EMAIL | URL | 22/06/05 22:10 | jfMCwvB. |
Внимание!

В связи с большим ко%
| AlvaroNiz | EMAIL | URL | 22/02/26 17:15 | JWSblAAs |
FOREX OPTIMUM
Главная Рейтинг Форекс брокеров Forex Optimum
Forex Optimum
Информация о брокере Forex Optimum
Рейтинг: 1
Отзывов: 62
Юрисдикция:
Не известно
Регуляторы:
SVGIFSA
Дата основания:
2009
Вывести деньги с
Forex Optimum Последние отзывы о
Forex Optimum
Осторожно! Брокер Forex Optimum подозревается в мошенничестве
Краткая справка Forex Optimum
Forex Optimum – старожил среди брокеров. Есть две цифры, которые вам пригодится о нем знать: 2009 – год основания и $7 354 378 – сумма, выплаченная клиентам.

Главный офис компании находится в Российской Федерации, но география его работы рас
| Danielvomma | EMAIL | URL | 22/02/17 16:35 | v1GWXVuM |
Почему главный мошенник «Телетрейда» Сергей Сароян до сих пор не за решеткой?

Почему главный мошенник «Телетрейда» Сергей Сароян до сих пор не за решеткой?
Четверть века обманывать народ – это надо уметь. В этом деле настоящий эксперт – мошенник Сергей Сароян, главарь грандиозного схематоза под названием «Телетрейд» в Украине. Почему же этот «крупнокалиберный» аферист до сих пор гуляет на свободе, а не сидит в тюрьме, как положено? И как о нем отзываются бывшие сотрудники и клиенты: радостного мало…

На данный момент главарем форексн
| Chesterdep | EMAIL | URL | 22/01/28 12:55 | iYQ.SZJ2 |
Нашел интересный канал на ютубе с сериалами, подскажите где еще есть?
Мощный фильм про осужденного Ментовские войны Финансовый гений Русские детективы https://youtu.be/oyC4JCSf-Kk
| acuctofE | EMAIL | URL | 21/04/16 19:56 | 4U0j34DY |
Потратила 183900 рублей для сайте ради 3,5 года. Знаю, вроде приобретать %
| Travislouby | EMAIL | URL | 20/12/24 23:46 | aTp0ElFE |
Доброго времени суток всем.
Друзья, я попала в лапы мошенников, да не просто обманщиков, а продающих под видом препарата

<b>Гепситадж-V (Софосбувир 400 мг и Велпатасвир 100 мг) – мел</b>, или что то еще, Но не лекарство.

<b>u-hiv. Com отзывы</b>

<b>Гепситадж-V отзывы</b>

Дело в том, что я приобрела на сайте https://www.u-hiv. com/ этот препарат.
Человек, из тамощнего консультанта на сайте вещал, что это качественный Индийский препарат для лечения гепатита С третьего генотипа, прислал мне сертификаты, и я как то поверила… черт меня дери.
Дальше больше, этот <b>Геп
| Mariangesee | EMAIL | URL | 19/03/30 06:33 | qshQcaF2 |
В знак особой благодарности Вы можете заказать Персональную Награду - Орден Человеку http://spaszhizny.ru/ который спас Вам жизнь, здоровье и будь он хирургом, терапевтом или онкологом, пожарным, летчиком и т.д. Кроме материльной оплаты он Достоен Видимого знака - Ордена, за спасение жизней.Tel. или WhatsApp +7(985)952-0864
| MorrisImact | EMAIL | URL | 18/10/01 21:04 | eCwQwkqo |
>サーバーによって例外が返されました。(HRESULTからの例外: 0x80010105(RPC_E_SERVERFAULT))

当方、同様の問題に遭遇して困っていましたが、以下の更新を入れたところ現象が発生しなくなりました。

・Update for Microsoft office2007suites ( KB2757915 )
・Updatefor2007MicrosoftOfflcesystem ( KB957542 )
・MlcrosoftOfficeShtreP01ntDeSlgner2007ServlcePtck3(SP3)

ちなみに更新前と後でのMDIVWCTL.DLL のバージョンは以下の通りです。
更新前(不具合有) ;12.0.4518.1014
更新後(不具解消) ;12.0.6600.1000
| とみんね | EMAIL | URL | 14/10/01 19:45 | ZyQqrFGU |
すごいですねぇ。標準でついてたなんて・・・。

ありがとう^^
| ふくちゃん | EMAIL | URL | 09/01/21 13:03 | xdHBrvTA |
はじめまして。OCRに興味があり、公開されているサンプルコードでいろいろ試してみました。しかし、画像のサイズが少し大きくなる(40KB程度)と、

サーバーによって例外が返されました。(HRESULTからの例外: 0x80010105(RPC_E_SERVERFAULT))

というエラーが出てOCR処理が行えません。今のところ画像のファイルサイズが関係するということ以外原因がわかりません。何かヒントをご存じないでしょうか。
| wakakumo | EMAIL | URL | 08/10/09 17:57 | k3A.qQLw |
いつも見ています。
過去の記事の
http://tmp.junkbox.info/index.php?e=9
こちらのと同じUSBトングルとAKC121を入手して実験を行っているのですが、
AT+ZV EnableBond (PC側のID12桁) (任意のパスワード)
の、PC側のID12桁が何なのかわかりません。
トングルの裏面の記号は11桁なので違うものだとは思うのですが、BT-01UDEの何処にPC側のID12桁の記載があるか教えていただけませんでしょうか?
お願い致します。
| tester | EMAIL | URL | 08/08/07 00:55 | y9ywrTyo |
コメントする








この記事のトラックバックURL
http://tmp.junkbox.info/tb.php/48
トラックバック
[C#]Microsoft OfficeにOCRが付属していたらしい
ここ最近フリーのOCRライブラリを探してて、smartOCRのDLLはライセンス的にまずいよなぁとかうんうん唸っていたら発見 http://tmp.junkbox.info/tb.php/48 これでC#でOCRが使える!まだそんなに試...
| だらだらやるよ。 | 08/07/22 21:08 |

  
AMAZON
CALENDAR
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31       
<<   03 - 2024   >>
TRACBACK
PROFILE
LOGIN
現在のモード: ゲストモード
USER ID:
PASS:
OTHERS
LINK
POWERED BY
POWERED BY
ぶろぐん
SKIN BY
ゲットネット...¥