2016-12-28 11 views
0

画像から手書きのテキストを抽出しようとしています。私はfind_contoursなどのopencv関数でPythonを使用します。ノートブックからのテキストの抽出

enter image description here

私は無地の背景を持っているので、それが正常に動作します:それはすべて私がこのような画像を使用する場合、かなりうまくいきました。しかし、私はこのイメージでそれをテストした:そのため、バックグラウンドでのノートブックのラインの

enter image description here

、私はテキストのみを抽出することはできませんよ。テキストは赤ですが、すべての画像をグレースケールまたは時にはスレッショルドにするので、ノートブックのようにすべてが黒くなります。そうすれば、テキストの色は重要ではありません。だから私の質問は:テキストを抽出するために誰も私にアドバイスやこの種の背景に対処する方法の可能な解決策を教えてもらえますか?私は本当にスライディングウインドウ方式を使いたくありません。 ありがとうございました

答えて

0

私はOpenCVのHoughLinesP機能でもう一度試してみることにしましたが、今回ははるかに有望で満足できる結果が得られました。ここで私は株のほとんどを除去するために使用するコードの抜粋です:

import cv2 
import numpy 

img = cv2.imread('thresh.png') 
edges = cv2.Canny(img, 50, 150, apertureSize=3) 
minLineLength = 0 
maxLineGap = 5 
lines = cv2.HoughLinesP(edges, 1, numpy.pi/180, 100, minLineLength, maxLineGap) 

for x in range(len(lines)): 
    for x1, y1, x2, y2 in lines[x]: 
     cv2.line(img, (x1, y1), (x2, y2), (0, 0, 0), 2) 

cv2.imwrite('houghlines3.jpg', img) 

追加情報:thresh.pngは、私は最初のPICのしきい値のバージョンを保存した画像です。この全体の仕組みは、イメージ内の線を見つけて黒に塗りつぶすことです(私の閾値では、白に近い部分が黒になり、逆に黒になるので)。それがラインをクリアする方法です。

PS:私は誰かを助けたと思う!乾杯!