0から9の数字が複数描かれた画像があります
いわゆる認証でよく出てくるcaptcha画像の類ですが
練習として、これを機械学習で認識しようとしました

画像の条件として
・数字のサイズは一定
・数字の桁数は一定
・数字の行間は一定
・数字の始まりの座標は不定
です

とりあえず流れとして
データ収集 → 前処理 → データセット作成 → 学習 → モデル作成 → 検証
みたいなことはわかりいくつかのサンプルは成功しました
が、いざ条件のcaptcha画像でやってみたところ
このcaptcha画像から数字ひとつひとつを抜き出す、という前処理でつまづきました

すべて一定ならcv2などで等間隔で区切ればいいのでしょうが
画像の最左に近い場合もあるし遠い場所から数字の連番が始まるときもあります
この最初の座標さえわかればあとは文字サイズなりなんなりで等間隔でトリミングすればいけると思うのですが
どういうロジックを組めばいいのでしょうか?

あと仮に、文字サイズが不定、行間も不定となる場合、
どう一文字を判定するのだろうと思いました
(調べて見るとcv2.findContoursという便利なものがありやってみましたが
画像を2値化するときに数字の線が若干荒れて、輪郭の判定が大量に現れる結果となってしまいました)