備忘録

弱小院生のメモ

画像処理

adaptiveThresholdさん見直し

2値化の処理を探っているとき、cv2.adaptivethreshold()があまり使えないように思っていたが、ただ単に自分のチューニング不足だった。 cv2.adaptivethreshold(image, method, blocksize, c) 画像のしきい値処理 — OpenCV-Python Tutorials 1 documentation …

kNNで文字認識

kNNとは k近傍法(k-nearest neighbor)。かなり単純なクラスタリングのアルゴリズム。 教師データ(ラベリング済)を特徴ベクトル化して学習 クラスタリング対象のデータも特徴ベクトル化 特徴ベクトルの距離を比較し、対象データと近い順にk個の教師データを選…

文字位置切り抜き

学習用の画像を集めていくうちに文字位置の切り抜きに失敗することが多くなり、 このままではロバストな認識は行えないということで改善を試みた。 スコア部分の切り抜き 画像によってヘッダの認識にずれがあり、切り出したスコア部分に欠けが生じることがあ…

画像傾きの補正

文字認識その他色々な処理の前に画像の傾き(回転)を自動補正したいのでやった。 方法 cv2.Canny() でエッジ検出 → cv2.HoughLinesP()で直線検出 → 水平方向の直線の平均角度を取る → 直線が水平になるように画像全体を回転 # 画像の傾き検出 # @return 水…

Tesseract-OCRの学習を試してみる

文字位置特定→文字画像を切り出し→kNNで文字認識 という流れを踏む予定だったが、安定した文字位置の特定処理が難しいのでTesseract-OCRを試してみる。 学習前の状態でOCR Tesseract v3.04 $ tesseract number.png out Tesseract Open Source OCR Engine v3.…

スコア部分の文字列切り出し

前回まででスコア表示部分のヘッダーが取れたので、その下のスコア表示部分を切り抜き、文字認識に繋げる スコア表示部分切り抜き ヘッダ検出結果から、その下部の領域を適当に切り出す 欠けてしまうと文字認識が失敗するため、無駄な部分が入ろうとも大きめ…

スコアヘッダ認識2

認識失敗時に回転させる処理を追加したら割とうまくいった。 import os import dlib import cv2 from scipy import ndimage IMG_DIR = './experiment_img/' cv2.namedWindow("img", cv2.WINDOW_NORMAL) detector = dlib.simple_object_detector("detector.sv…

スコアヘッダ認識

やりたいこと リザルト画像中からスコア表示部分のヘッダを認識する 手段 機械学習ライブラリdlibの物体検出モジュール(structural_object_detection_trainer)を試してみる。 qiita.com 前準備 dlibのインストールに数回失敗(boostが入ってなかった) virtual…

スコア認識

やりたいこと リザルト画像からスコアを文字データとして取り出す。 画像の特徴 どうやら未だボルテはe-amu連携でスコア投稿する機能がないらしい。 → リザルトは全てユーザの撮影写真となるため、スコア表示部分位置や明るさ・画質等々がまちまち。 フォン…

趣味開発をすることにした

何をするのか 前々からアイデア自体はあったものの、何も手を動かさないまま大分経過してしまったサービスを勉強を兼ねて実装する。 勉強すること Ruby on Rails Python 画像認識 機械学習 AWS など いろいろ欲張りすぎてどれも中途半端になる予感はするが、…