弱小院生のメモこの広告は、90日以上更新していないブログに表示しています。単純なクラスタリングのアルゴリズム。直感的に理解できる簡素なアルゴリズムである。OpenCVで実装されているため簡単に試せる。qiita.comIkalogではkNNで文字認識を行なっているらしい。可変な今回のケースではどの程度の精度が出るのか、試しにやってみた。前項までで文字位置の特定ができているので、その領域を切り出して等サイズにリサイズ→保存する。interpolation=cv2.INTER_NEAREST)PythonでkNN学習は毎回実行時に行う。-1))reshapeの引数のサイズのうち片方に-1を指定すると,もう一方の値から適切な数値を判断して変形してくれる。ラベルは別配列に要素番号が同じになるように保存する。CV_32Sになるように注意して変形する。CV_32Sになるように変形。printするとこんな感じ。57.]]学習部分全体のコード。使って画像をクラスタリングすることで文字認識を行う。ch_string)cv2.waitKey(0)認識対象も勿論1行N列の32bitfloat配列に直してknn.findNearest()につっこむ。成功例result:09828932result:08463768失敗例result:09955509result:0968056013画像(104字)に対して6文字の認識ミスだったので認識精度は94.23%。0-8-9あたりの誤認識が多かった。考察kNNのアルゴリズムを考慮すると、学習が足りないとかいう問題ではなくノイズの影響が大きいように思う。:また、各画素値を単純に並べて特徴ベクトルにする関係上、上下端の余白の大きさや回転による影響もありそう。Learning様の力でゴリ押すかしようと思う。文字認識その他色々な処理の前に画像の傾き(回転)を自動補正...2017-01-09スコア部分の文字列切り出し前回まででスコア表示部分のヘッダーが取れたので、その下のス...2017-01-02スコアヘッダ認識2認識失敗時に回転させる処理を追加したら割とうまくいった。(1)月別アーカイブはてなブログをはじめよう!reverent_fさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。