6


白黒画像から文字を抽出しようとしています(認識できません!)
ので、画像が123の場合、3つの画像の配列を取得します。

それは重複した質問です、私は知っています、しかし私は私が欲しいものを見つけることができませんでした、私もコードプロジェクトを調べてみましたが、実用的な例を見つけることができませんでした

http://www.codeproject.com/Articles/143059/Neural-Network-for-Recognition-of-Handwritten-Digi
ソースコードが完成していません


。ご協力いただければ幸いです:)

4

5 に答える 5

5

ケニーがすでに述べたように、「連結成分ラベリング」は、連結ピクセルを識別するアルゴリズムのファミリーを表します。接続されたコンポーネントは、「接続された領域」または「ブロブ」の名前、および関連する「輪郭」の概念でも呼ばれます。このようなアルゴリズムは、接続された前景ピクセルの形状だけでなく、背景色のピクセルで構成される形状内の「穴」の存在も検出できる必要があります。

http://en.wikipedia.org/wiki/Connected-component_labeling

このアルゴリズムは、コンピュータービジョン、マシンビジョン、医用画像など、画像処理に依存するいくつかの工学分野で使用されます。画像処理に時間を費やす場合は、このアルゴリズムに非常に慣れ、少なくとも1回は自分で実装する必要があります。

OpenCVライブラリには、輪郭、輪郭内の輪郭などを検索するために使用できるfindContours()関数があります。http:
//opencv.willowgarage.com/wiki/

領域ラベル付けアルゴリズムが機能していることを確認したい場合は、アプリケーションImageJを使用して「セルカウント」への参照を探してください。生体細胞のカウントは、医用画像処理のための領域ラベリングの重要で頻繁に引用されるアプリケーションです。

http://rsbweb.nih.gov/ij/

オンラインで少しずつ学ぶのではなく、このテーマに関する教科書を入手することを検討してください。連結成分(別名ブロブ)を研究することは、必然的に、グレースケールまたはカラー画像を取得し、そこから白黒画像を生成する2値化(別名しきい値処理)の検討につながります。カメラからの画像を操作している場合、照明が重要になり、学習には時間がかかり、いじくり回す必要があります。

画像をクリーンアップするために必要になる可能性のある他の前処理ステップが多数あります。前処理の必要性は、アプリケーションによって異なります。

これは、しばしば推奨され、標準的な画像処理技術を十分にカバーしている教科書です。

ゴンザレスとウッズによる デジタル画像処理、第3版http://www.imageprocessingplace.com/

addall.comにアクセスして、安価なコピーを見つけてください。国際版の方が安いです。

画像内の文字(または他の形状)が一貫したサイズと形状である場合(たとえば、「A」は常に高さ40ピクセル、25ピクセルで、同じフォントで機械印刷されている場合)、「 1つまたは複数の一致する形状の存在を識別するための正規化された相互相関」またはテンプレートマッチング手法。この手法は非常に大雑把な種類のOCRとして機能しますが、厳しい制限があります。

http://en.wikipedia.org/wiki/Template_matching

于 2012-02-18T16:07:55.723 に答える
3

画像が白い背景に黒い文字を表している場合(またはその逆)、画像が適切な品質であり、テキストの行が水平であり、各文字が隣接する文字から分離されている場合、すべてを見つけるのは比較的簡単な操作です。白い海にある黒いピクセルの小さな島。

これらのifのそれぞれが緩和されると、問題は難しくなりますが、概念的には同じままです。黒いピクセルを見つけてから、接続されている他のすべての黒いピクセルを見つけて、文字を見つけます。または、OCRと要件に関するコメントを念頭に置いて、文字を表す(主張する)黒いピクセルのパッチを見つけました。

于 2012-02-18T15:19:19.150 に答える
1

私はあなたが望むことを正確に実行するコードプロジェクトにコードを載せました。
連結成分のラベリングとベクトル化

Fu Chang、Chun-Jen Chen、Chi-JenLuによる論文「輪郭追跡手法を使用した線形時間成分ラベリングアルゴリズム」を使用したシングルパス輪郭抽出。

于 2012-07-15T14:07:38.563 に答える
0

マシンビジョンでのBlobまたは接続性分析について学ぶと役立つ場合があります。無料のものを含むほとんどのライブラリには、このようなものがあります。また、向きがわかっていて、テキストが白黒で、テキストの間隔が適切であれば、時間がある場合は、XとYまたは任意の角度での画像の1D投影で文字のエッジを見つけることができるはずです。

于 2012-02-18T15:31:48.627 に答える
0

私の意見では、これまでのところ最良の答えは、セグメンテーションと連結成分のラベル付けを使用する必要があると彼が指摘しているRethunkによるものです。HighPerformanceMarkは、基本的に連結成分のラベル付けアルゴリズム(非常に単純なもの)を記述しますが、アルゴリズムの名前を言及することは、この種の答えにとって重要だと思います。

ただし、セグメンテーションと接続されたコンポーネントのラベル付けは、問題を解決するための開始点にすぎないことに注意してください。たとえば、小文字の「i」などの一部の文字は2つのコンポーネントで構成され、合字(つまり、互いに接続されている2つの文字)がある可能性があることを考慮する必要があります。だから私はM.バブコックのコメントが好きです。文字を認識せずに問題を解決するのは難しいです。

あなたの問題については、 OCRライブラリを使用することで問題を解決できると思います。

于 2012-02-18T18:29:56.947 に答える