OpenCV: アラビア語雑誌の列を検索 (Python)
私はopencvもPythonも初めてです。研究課題を解決するために、オンラインで見つけたコードをつなぎ合わせてみました。私は 1870 年のアラビア語の日記を持っています。これは数百ページあり、各ページには 2 つの列があり、太い黒い枠線が付いています。ヘッダーとフッターを無視して個別に ocr を実行できるように、2 つの列を画像ファイルとして抽出したいと考えています。ページの例を次に示します:
3ページ目
10 ページの生のプリントを個別の png ファイルとして持っています。それぞれを処理するために次のスクリプトを作成しました。 10 ページ中 2 ページでは期待どおりに機能しますが、他の 8 ページでは列の生成に失敗します。これらの値をどこで使用できるか、または私のアプローチ全体が間違っているのかどうかを知るには、すべての関数を十分に理解していません。学ぶための最良の方法は、この問題をどのように解決するかをコミュニティに尋ねることだと思います。
リーリーチュートリアルに従って、大きな白い領域によって異なる長方形の領域を識別できるように、ぼかしと拡張のバイナリ反転を作成しました。また、各拡張バージョンのコピーを保存して、それがどのようになるかを確認しました。処理後の上記のページは次のとおりです:
ページ3を拡大しました
「for c in cnts」ループは、画像内の大きな長方形の領域を見つける必要があります。アスペクト比が 2.5 未満の場合はページ全体が表示されます (ヘッダーとフッターはなく、正常に動作します)。アスペクト比がこれより大きい場合は、列であることがわかり、これを保存します (例: temp/ p2-col2.png#)。
##ヘッダーとフッターのない、つまり大きな黒い境界線だけが列に分割されていない、素晴らしい完全なページがいくつか得られます。 10 ページ中 2 ページで、私が欲しかったものを手に入れることができました。それは次のとおりです。2ページ目の成功コラム
意図した結果が得られることもあるので、何かが機能しているはずですが、さらに改善する方法がわかりません。
###編集:###その他のページ例は次のとおりです:
p0
p1
p5
正解真ん中の線を「区切り文字」として使用できるかどうかを確認したかったので、拡張せずに何かを試してみました。これはコードです:
リーリー
アスペクト比に関するアサーションは使用していないので、これはまだ行う必要があるかもしれません..基本的に、このメソッドで最も重要なラインは、x 座標に基づいて左右の輪郭を生成することです。これが私が得た最終結果です:
端に黒い部分がまだ残っていますが、ocr には問題ありません。
参考: jupyter で次のパッケージを使用しています:
リーリー v2.0: ラージボックス検出のみを使用して実装:
そこで、拡張を行ったところ、大きなボックスが簡単に検出できるようになりました。大きなボックスの垂直線が常に検出されるのに十分な太さになるように、水平カーネルを使用します。ただし、中央の線が非常に細いため、問題を解決できません...それでも、上記のメソッドのコードは次のとおりです。 リーリー これらは結果です。完璧ではないことがわかりますが、ターゲットが ocr であるため、これは問題にはなりません。
これでうまくいくかどうか教えてください。うまくいかない場合は、より良い解決策を見つけるために頭を悩ませます...
v3.0
: よりまっすぐな画像を取得するためのより良い方法で、ocr の品質が向上します。ここでの私の他の回答:
answer に触発されました。 ocr の結果が良くなるように、画像をまっすぐにすることは理にかなっています。したがって、検出された外枠に対して 4 点変換を使用しました。これにより、画像がわずかにまっすぐになり、テキストがより水平になります。これはコードです: リーリー
次のパッケージがあります:以上がOpenCV: アラビア語雑誌の列を検索 (Python)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











はい、H5ページの生産は、HTML、CSS、JavaScriptなどのコアテクノロジーを含むフロントエンド開発のための重要な実装方法です。開発者は、< canvas>の使用など、これらのテクノロジーを巧みに組み合わせることにより、動的で強力なH5ページを構築します。グラフィックを描画するタグまたはJavaScriptを使用して相互作用の動作を制御します。

CSSでサイズ変更シンボルをカスタマイズする方法は、背景色で統一されています。毎日の開発では、調整など、ユーザーインターフェイスの詳細をカスタマイズする必要がある状況に遭遇することがよくあります...

インラインブロック要素の誤った整列ディスプレイの理由とソリューションに関して。 Webページのレイアウトを書くとき、私たちはしばしばいくつかの奇妙な表示の問題に遭遇します。比較する...

リアルタイムのビットコインUSD価格 ビットコインの価格に影響を与える要因 将来のビットコイン価格を予測するための指標 2018年から2024年のビットコインの価格に関する重要な情報を次に示します。

セグメントターの45度の曲線効果を達成する方法は?セグメンテーションデバイスを実装する過程で、左ボタンをクリックすると、適切な境界線を45度の曲線に変える方法とポイント...

JavaScriptまたはCSSを使用して、ブラウザの印刷設定のページの上部と端を制御する方法。ブラウザの印刷設定には、ディスプレイが...

ユーザーインターフェイスデザインにセグメルダー効果を実装するためのヒントは、特にモバイルアプリケーションやレスポンシブWebページで、一般的なナビゲーション要素です。 ...

フレックスレイアウトとソリューションの下でのテキストの過度の省略によるコンテナの開口部の問題が使用されます...
