この投稿OCR: Difference between two framesによると、OpenCV を使用して 2 つの画像のピクセルの違いを見つける方法がわかりました。
このソリューションを改善し、リッチ コンテンツを含む (ビデオからの) 高解像度画像で使用したいと考えています。上記の例は、プロセスが遅いため、大きな画像には適用できません (あまりにも多くの違いが見つかりました。「findCountours メソッド」は、処理に膨大な時間がかかる 250k の要素でタブを埋めます)。
私のアプリケーションは、RLE デコーダーを使用してビデオの圧縮フレームをデコードします。フレームがデコードされたら、現在のフレームと前のフレームを比較して、たとえば「マット」タブに2つのフレームの違いを保存したいと思います。
このすべての目的は、さまざまなピクセルで分析を実行し、ラテン文字があるかどうかを確認できるようにすることです。これにより、分析するピクセルの量を減らし、貴重な時間を節約できます。
このような操作を実行するためのこれ以外のアイデアがある場合は、お気軽に提案してください。
ご協力ありがとうございました。
編集 1: コンピューター画面の 2 つの高解像度画像の例。これらは今のところ、私が分析しようとしているものの完璧な例です。ご覧のとおり、2 つの大きな画像の違いとしてウィンドウが 1 つだけあります。任意のキャラクターの新しい「チャレンジ」ウィンドウだけを分析したいと思います。
編集 2: 分析されたデータに応じてアルゴリズムを調整しようとしています。通常、次の 2 つの写真では、緑色の線だけが違いとして表示され、テキストはまったく表示されません (これが最も興味深い点です)。このために物事がどのように機能するかをよりよく理解しようとしています。
1枚目の画像:
2枚目の画像:
ご覧のとおり、緑色の線だけがあり、テキストはありません (countours[i].size() を減らすときは、せいぜい 1 文字だけにすることができます)。