数字がどこに書かれているかを見つける処理を実装してみます。
まずは数字が10個表示されている下記の画像を入力ファイルとします。
実装する処理は下記の通りです。
1 | import sys |
問題なく見つけた数字を赤枠で囲むことができています。
次に100個の数字が表示されている画像を入力にしてみます。
6行目の入力ファイル名を変更するだけです。
結果は上記のようになり数字の中まで赤枠で囲ってしまっています。
これを改善するためには、cv2.RETR_LISTというパラメータをcv2.RETR_EXTERNAL(15行目)に変更します。
このパラメータは領域の一番外側だけを検出するという意味になります。
下記に修正したソースの全体を記載しておきます。
1 | import sys |
今度は適切に全ての数字を認識することができました。
(Google Colaboratoryで動作確認しています。)