2017-11-14 7 views
0

任意の文字と数字を含む印刷コードのOCRにOpenCVを使用しています。私のパイプラインでは、スレッショルド、ノイズ除去、グラデーションの形態、そして各文字の周りにバウンディングボックスを配置するために輪郭を見つけることが含まれます。「W」で文字セグメンテーションが失敗する

コードに 'W'が表示されている場合を除いて、非常にうまく動作します。通常、予測が「VAV」または「VV」になるように、2つまたは3つのバウンディングボックスを配置します。これは正直なところ、私が疲れたときに自分の目が犯す可能性のある間違いです。

この問題にどのように最善の対応方法がありますか?私は、これらのコードの多くに「W」が現れ、適切にセグメント化する必要があることをかなり確信で​​きます。助けてくれてありがとう!

+0

:ここ

は、一例としてトリミングです。 – zindarod

答えて

0

輪郭を見つける前に画像上で形態学的拡張を試みてください。これにより、文字Wのすべての部分を1つのブロブとしてマージし、複数の文字として認識されないようにします。

+0

残念なことに、形態学的拡張は、「W」をセグメント化する上で最小限の改善をもたらし、また、「J」および「O」を組み合わせた。しかし、私のケースで別の解決策を見つけた – Sean

+0

あなたの問題を解決できてうれしいです。データのスクリーンショットを共有して、問題の内容をすべて確認できるようにします。 – yapws87

2

少なくとも私の場合、解決した解決策が見つかりました。指定されたしきい値(私の場合は0.15)より大きいオーバーラップを持つバウンディングボックスを組み合わせて、隣接するバウンディングボックスの相対的な重なりを繰り返し計算します。これは私のデータにとって非常に効果的です。あなたのコードとサンプル画像を投稿

enter image description here

enter image description here

関連する問題