問題タブ [modi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ocr - Indexing Service と MODI を取得して OCR 経由で全文を生成するにはどうすればよいですか?
ファイルにインデックスを付けるように Indexing Service を構成しました。これには、高解像度TIFFファイルとして保存されたスキャン画像も含まれます。また、MS Office 2003+ をインストールし、MS Office Document Imaging (MODI) を正しく構成したので、画像に対してOCRを実行し、 OCRされたテキストを TIFFに埋め込むことさえできます。
Indexing Service は、手動で OCR され、テキスト データと共に再保存されたTIFFを (MS Document Imaging ツールを使用して) インデックス付けして検索することができます。
Windows XP SP2 で導入されたデータ実行防止 (DEP) は、MODI を悪意のあるものと見なし、その魔法の実行を拒否することが判明しました。DEP を完全にオフにすることで動作させることができましたが、この解決策は洗練されていないことがわかりました。
DEP を無効にせずに、これを機能させるためのより良い解決策はありますか?
c# - .NET 画像の OCR 処理
MODI を使用してウィンドウのプログラムを OCR しようとしています。次のようにwin32相互運用を使用してプログラムで取得したスクリーンショットでは問題なく機能します。
この画像はファイルに保存され、次のように MODI を実行します。
この部分は問題なく動作しますが、スクリーンショット全体を OCR で処理したくはありません。次のようにプログラムで画像をトリミングしてみます。
次に、この小さな画像をOCRしますが、MODIは例外をスローします。「OCR 実行エラー」、エラー コードは -959967087 です。
MODI は元のビットマップを処理できるのに、元のビットマップから取得した小さいバージョンを処理できないのはなぜですか?
asp.net - ASP.Net Web アプリケーションで MODI を使用するにはどうすればよいですか?
Microsoft Office Document Imaging COM API の OCR ラッパー ライブラリを作成しました。ローカルで実行されているコンソール アプリでは、すべてのテストで問題なく動作します。
悲しいことに、IIS6 の下で ASP.Net Web アプリケーションとして実行されている WCF サービスと統合しようとすると、うまくいきません。MODI COM オブジェクトを解放しようとする際に問題がありましたが、ウェブ上に参考になる例がたくさんありました。
しかし、問題はまだ残っています。IIS を再起動し、Web アプリを新たに展開すると、最初の数回の OCR 試行はうまく機能します。30 分ほど放置してから別のリクエストを行うと、次のようなサーバー障害エラーが発生します。
サーバーが例外をスローしました。(HRESULT からの例外: 0x80010105 (RPC_E_SERVERFAULT)): MODI.DocumentClass.Create (String FileOpen) で
この時点から、IIS をリセットするまで、すべての要求は OCR を実行できず、サイクルが再び開始されます。
このアプリケーションは独自のアプリケーション プールで実行され、ローカル管理者権限を持つ ID の下で実行されます。
更新: この問題は、OCR をアウト プロセスで実行することで解決できます。MODI ライブラリはマネージ コードとうまく連携していないように見えるので、OCR リクエストごとに新しいプロセスを生成すると、私の状況ではうまくいきました。
OCR を実行する関数は次のとおりです。
次に、using ブロック内で ImageReader のインスタンスをインスタンス化します (終了時に IDisposable.Dispose を呼び出します)。
Marshal.FinalReleaseComObject を呼び出すと、CLR に COM オブジェクトを解放するように指示されます。そのため、発生している症状の原因を突き止めることができません。
価値があるのは、このコードを IIS の外部で、たとえばコンソール アプリで実行すると、すべてが防弾のように見えることです。毎回動作します。
この問題を診断して解決するのに役立つヒントは、非常に役立ちます。私は狂ったように賛成します! ;-)
ありがとう!
c# - COM エラーのデバッグに役立ちますか? (Microsoft Office Document Imaging を使用した .mdi から .pdf ファイルへの変換)
私は、Microsoft Office Document Imaging オブジェクト モデルを使用して .mdi ファイルを PDF に変換する実用的なソリューションがあると考えていました。解決策は Windows サービスにありますが、現在、情報を追跡するのに苦労しているいくつかのエラーが発生しています。
私が得る例外は次のとおりです。
サーバーが例外をスローしました。(HRESULT からの例外: 0x80010105 (RPC_E_SERVERFAULT)) System.Runtime.InteropServices.COMException (0x80010105): サーバーが例外をスローしました。(HRESULT からの例外: 0x80010105 (RPC_E_SERVERFAULT))
DocumentStore.Mdi2PDF (文字列パス、文字列 newPath) で MODI.DocumentClass.Create (文字列 FileOpen) で
次に、イベント ビューアに次のアプリケーション エラーが表示されます。
エラーが発生しているアプリケーション MyWindowsServiceName.exe、バージョン 1.0.0.0、タイム スタンプ 0x4b97f185、エラーが発生しているモジュール mso.dll、バージョン 12.0.6425.1000、タイム スタンプ 0x49d65443、例外コード 0xc0000005、エラー オフセット 0x0000bd8e、プロセス ID 0xa5c、アプリケーション開始時刻 0x01cac08cf03
変換を行っているメソッドは次のとおりです。
これを呼び出すサービスからすべてのスレッドを削除したため、プライマリ スレッドのみが MODI オブジェクトを初期化していましたが、それでもエラーが発生したため、スレッドに関連しているようには見えません。
何百ものドキュメントを変換するコンソール アプリも作成しましたが、例外は発生しませんでした。
では、サービス内でのみインスタンス化された MODI オブジェクトのインスタンスを作成しすぎたことが原因のようですか? 意味がわかりません。
これらのエラーに関する手がかりと、さらにデバッグする方法を知っている人はいますか?
c# - C#でMODIを使用して画像を読み取る-長さが1の数字が欠落している
私はgif画像(OCR)からテキストを読み取ろうとしているC#アプリケーションを構築しようとしています-私はMODIを使用しており、画像は宝くじのクーポン(行と列の乱数)に少し似ています。私は今、単一の数字(1、2、3 ...)を除くすべての数字を読み取る次のコードを取得しました
画像の内容を変更することはできませんが、上記のコードで単一の数字を読み取れるようにすることはできますか?
c# - MODI.Image from(Bitmap)画像がハードディスクに保存されていません。
数字認識用のOCRMODIアプリケーションをコーディングしています。それは非常にうまく機能しますが、私はそれをスピードアップしようとしています。
ハードディスクからロードせずに、Emgu.CV.UI.ImageBoxから直接MODI.DocumentまたはMODI.Imageを作成する必要があります。
何かのようなもの
また
何か案は?
c# - MODI リーク メモリ
MODI 2007 を使用していくつかのマルチページ tiff ファイルを OCR するアプリがあります。いくつかの適切な tiff だけでなく、Windows Picture and Fax Viewer で開くことができないいくつかの tiff を含むディレクトリで開始すると、MODI はそれらの「悪い」tiff の OCR にも失敗することがわかりました。これが発生すると、アプリは MODI がそれらの TIFF を OCR するために使用したメモリを再利用できなくなります。ツールがこれらの「不適切な」TIFF を OCR しようとすると、マシンのメモリが不足し、アプリがクラッシュします。MODIメモリリークを修正すると思われるいくつかのコード修正をWebから試しましたが、これまでのところうまくいきませんでした。OCR を実行する以下のコードの一部を貼り付けます。
c# - OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true) によって OCR 実行エラーが発生するのはなぜですか?
私は MODI を使用して tiff 画像を読み取り、テキストに対して必要なことを行っています。一部の画像は正常に機能し、他の tiff 画像は常にメソッドを引き起こします。
OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true)
失敗する。私はこれを調査し、パラメーター リストで「false」、「false」などのさまざまなバリエーションを試しました。英語の代わりに SYSDEFAULT も試しましたが、それでもエラーが発生します。一部の tiff 画像では失敗し、他の画像では失敗しない理由を教えてください。
私はいくつかの調査を行い、この答えを見つけました:
考えられる原因の 1 つは、MODI が認識可能なテキストのないファイルを処理しようとしている可能性があります。空白のドキュメント、または描画/落書きのみがあり、実質的に空白のドキュメントは、この例外を引き起こします。
一部の画像をOCRし、他の画像をOCRしないことを決定するアプリを作成する方法がないため、明らかにこれは十分ではありません。例外を処理しましたが、OCR オブジェクトが初期化されていないため、そこから必要なことを実行できません。
これは血まみれの悪夢です!メソッドが血まみれの仕事をすることができないのはなぜですか。画像に判読できないページがいくつかある場合は、それらを無視してください。Windows 7 Ultimate と Office 2007 Ultimate を使用しています。
Visual Studio のバージョンは 2008 です。
IW
.net - MODI の OCR 代替
最近、MODI の組み込み OCR 機能を使用して、ウィンドウのテキストをキャプチャしています。ウィンドウ ハンドルを使用して、任意の領域でテキストを取得したり、検索したい特定のテキストの座標を取得したりできます。
MODI は廃止されたようで、現在使用している Office 2010 には含まれていないため、新しい OCR の代替手段を見つける必要があります。他に使用できる優れたライブラリはありますか?
c# - DeleteAfterOpenを使用してファイルを作成し、他のプロセスがファイルを読み取れるようにします
DeleteAfterCloseオプションを指定して、.netのFileStreamオブジェクトを使用してファイルを作成し、そのファイルへの読み取りアクセスを許可することは可能ですか?
私は使用してみました:
しかし、読み取りを試みる他のオブジェクトはファイル共有違反を取得します。
ファイル(tif)を作成し、COMオブジェクト(MODI)を使用してイメージに対してOCRを実行しているため、これを実行しようとしています。私の問題は、MODI comオブジェクトでcloseメソッドを呼び出した後でも、MODI comオブジェクトが完全に終了していないため、System.File.Deleteメソッドを使用してファイルを削除できないことです。DeleteAfterCloseオプションを使用してファイルを作成し、設定されたファイルの読み取りを許可できるとしたら、共有違反を通過させる方法がわかりません。可能であれば、それが可能である場合でも同様です。