画像上のフレーム化されたテキストの座標
画像のフレームテキストの座標を取得したいのですが。段落には細い黒い境界線があります。画像の残りの部分には、通常の段落とスケッチが含まれています。
次に例を示します。

これを実現するために、Pythonで画像ライブラリを使用してどのようなアルゴリズムを使用する必要があるかについて何か考えがありますか?ありがとう。
回答
かなりのサイズのボックス/長方形を検索することに主に帰着するフレーム化されたテキストを検出するためのいくつかのアイデア:
OpenCVで輪郭を見つけ、ポリゴン近似アルゴリズム(Ramer–Douglas–Peuckerアルゴリズムとも呼ばれます)を使用して形状を分析します。さらに、バウンディングボックスのアスペクト比をチェックして、形状が長方形であることを確認し、ページ幅をチェックすることもできます。これは、あなたのケースでは既知の指標のようです。PyImageSearchはこの素晴らしい記事をしました:cv2.approxPolyDP()
- OpenCV形状検出
関連する質問、に見ての提案もあったハフ線検出の縦線を同じようにターンを取って水平線を検出するためには、。このアプローチがどれほど信頼できるか100%確実ではありません。
ボックスフレームを見つけたら、次のステップは、ボックスフレーム内にテキストがあるかどうかを確認することです。一般に、テキストの検出はより広範な問題であり、それを行うには多くの方法があります。ここにいくつかの例を示します。
EASTテキスト検出器を適用する
PixelLink
正八胞体(例:経由
pytesseract
)が、誤検知が多すぎないかどうかはわかりませんボックスが空であるかどうかという単純なケースの場合は、内部の平均ピクセル値を確認できます(例:cv2.countNonZero()。例:
- OpenCVを使用して空の長方形を識別する方法
- OpenCVを使用して黒いピクセルを数えます
その他の参考資料:
- 畳み込みニューラルネットワークを使用した四角形/長方形の検出に関するアイデア