ホームページ バックエンド開発 Python チュートリアル OpenCV: アラビア語雑誌の列を検索 (Python)

OpenCV: アラビア語雑誌の列を検索 (Python)

Feb 22, 2024 pm 12:52 PM
overflow

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 点変換を使用しました。これにより、画像がわずかにまっすぐになり、テキストがより水平になります。これはコードです: リーリー

次のパッケージがあります:

リーリー コードからわかるように、これはより良いアプローチであり、4 点変換のおかげで画像を強制的に中央に水平に配置できます。さらに、画像は十分に分離されているため、一部の重複を含める必要はありません。参考までに例を示します:

以上がOpenCV: アラビア語雑誌の列を検索 (Python)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

H5ページの生産はフロントエンド開発ですか? H5ページの生産はフロントエンド開発ですか? Apr 05, 2025 pm 11:42 PM

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

CSSを介してサイズ変更シンボルをカスタマイズし、背景色で均一にする方法は? CSSを介してサイズ変更シンボルをカスタマイズし、背景色で均一にする方法は? Apr 05, 2025 pm 02:30 PM

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

インラインブロック要素が不発になるのはなぜですか?この問題を解決する方法は? インラインブロック要素が不発になるのはなぜですか?この問題を解決する方法は? Apr 04, 2025 pm 10:39 PM

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

2018-2024 USDのビットコインの最新価格 2018-2024 USDのビットコインの最新価格 Feb 15, 2025 pm 07:12 PM

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

CSSのクリップパス属性を使用して、セグメルターの45度曲線効果を実現する方法は? CSSのクリップパス属性を使用して、セグメルターの45度曲線効果を実現する方法は? Apr 04, 2025 pm 11:45 PM

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

JavaScriptまたはCSSを介してブラウザ印刷設定でページの上部と終了を制御する方法は? JavaScriptまたはCSSを介してブラウザ印刷設定でページの上部と終了を制御する方法は? Apr 05, 2025 pm 10:39 PM

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

45度の曲線境界でセグメンテーション効果を達成する方法は? 45度の曲線境界でセグメンテーション効果を達成する方法は? Apr 04, 2025 pm 11:48 PM

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

フレックスレイアウトの下のテキストは省略されていますが、コンテナは開かれていますか?それを解決する方法は? フレックスレイアウトの下のテキストは省略されていますが、コンテナは開かれていますか?それを解決する方法は? Apr 05, 2025 pm 11:00 PM

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

See all articles