2016-12-01 4 views
3

opencv2とpytesseractを使用して、カメラからのビデオストリームからテキストを抽出しています。私は他の小さな画像を得るために画像をトリミングします。私はそれを動作させるために別の画像処理をしました。画像の値を反転し、ぼかし、二値化しますが、これらのどれもがtesseractで作業していません。私が抽出したいデータは、これらのフォームのフロート/フロート "ここに小さな画像の一例であるがあります。ビデオストリームからテキストを抽出するにはどうすればよいですか?

が分離されていない文字のように思える、これは私から得ることができる最大解像度です私のカメラ。色でフィルタリングしようとしましたが、ビデオで背景が常に動いているので結果はありません。 私は、動作することができる推奨されるPythonモジュールを使用します。

+0

各文字のテンプレートマッチングを試しましたか? – Miki

+0

Mikiが応答してくれてありがとう、私は25フレーム/秒でそれぞれのキャラクターごとにテンプレートマッチングを行うことが可能ですか?この小さな画像を比較するよりも小さい画像に分割する必要がありますか? –

+0

私はフレームレートを保証することはできませんが、他のどのOCRアプローチよりも速くなければなりません。あなたは10桁の10個のテンプレートを持っていますが、おそらく1つはスラッシュ(そしてポイントは?)です。次に、画像全体にテンプレートマッチング11(12回)(テンプレートごと)を適用します。あなたは、一致する結果の最大値を見て正しい数字を見つけることができるはずです... – Miki

答えて

0

そうではありません。私は32x32のpng画像をすべてのキャラクタに生成し、それにホワイトノイズを追加します。ビデオのバックグラウンドが動いています。 8と6のようなキャラクタもそれほど違いはありません。ここ は一瞬のために私のコードです:

cap = cv2.VideoCapture("rtsp:...") 
time.sleep(2) 
templates = {} 
w=[] 
h=[] 
for i in range(0,11): 
    templates["template_"+str(i)]=cv2.imread(str(i)+'.bmp',0) 
    tmp_w,tmp_h=templates["template_"+str(i)].shape[::-1] 
    w.append(tmp_w) 
    h.append(tmp_h) 



threshold = 0.70 



while(True): 
    les_points=[[],[],[],[],[],[],[],[],[],[],[]] 
    ret, frame = cap.read() 
    if frame==None: 
     break 
    crop_image=frame[38:70,11:364] 
    gray=cv2.cvtColor(crop_image,cv2.COLOR_BGR2GRAY) 
    for i in range(0,11): 
     res= cv2.matchTemplate(gray,templates["template_"+str(i)],cv2.TM_CCOEFF_NORMED) 
     loc = np.where(res >= threshold) 
     for pt in zip(*loc[::-1]): 
      les_points[i].append(pt[0]) 
      cv2.rectangle(crop_image, pt, (pt[0] + w[i], pt[1] + h[i]), (0,i*10,255), 2) 
    print les_points 
    cv2.imshow('normal',crop_image) 
    if cv2.waitKey(1)& 0xFF == ord('p'): 
     threshold=threshold+0.01 
     print threshold 
    if cv2.waitKey(1)& 0xFF == ord('m'): 
     threshold=threshold-0.01 
     print threshold 
    if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 

私はテンプレート内のcaractersのまったく同じ大きさに分割して、他のテスト画像をやっています。これは良い結果を与えていません

関連する問題