2017-09-17 11 views
3

イメージからテキストを抽出する作業を進めています。イメージからテキストを抽出する

まず画像が画像を処理する更に、白に配置されたテキストを用いて着色され、テキストは(いくつかのノイズを有する)白と黒の他の画素に示され、ここで試料であります

これでpytesseract(tesseract)を使ってOCRしようとすると、まだテキストが得られません。

カラー画像からテキストを抽出するソリューションはありますか?

+0

色をグレースケールに変換し、すべてが黒または白になるようにバイナリしきい値を設定します。あなたはノイズを除去するために斑点を出すなどの試みができますが、コマンドラインからの 'tesseract'がそれを拾うことができない場合は、Googleからocropyをお勧めします。 –

+0

[Adrian Rosebrockのブログ](http://www.pyimagesearch.com/2017/07/10/using-tesseract-ocr-python/)の助けを借りてみましたか? –

+0

原則として可能です:画像はGoogle OCRでうまく動作し、ocr.spaceで半透明​​です。私はhttps://ocr.space/compare-ocr-softwareでテストしました –

答えて

2
from PIL import Image 
import pytesseract 
import argparse 
import cv2 

# construct the argument parser and parse the arguments 
ap = argparse.ArgumentParser() 
ap.add_argument("-i", "--image", required=True, help="Path to the image") 
args = vars(ap.parse_args()) 

# load the image and convert it to grayscale 
image = cv2.imread(args["image"]) 
cv2.imshow("Original", image) 

# Apply an "average" blur to the image 

blurred = cv2.blur(image, (3,3)) 
cv2.imshow("Blurred_image", blurred) 
img = Image.fromarray(blurred) 
text = pytesseract.image_to_string(img, lang='eng') 
print (text) 
cv2.waitKey(0) 

私は=「滞在:Overwoterバンガローで$ 3»」取得結果として輪郭を使用して、そこから不要なブロブを取っについてどう

?可能性があります

+0

ありがとう、私はそれを試して結果を投稿します。 –

関連する問題