извлечение текстовой информации из национального идентификатора - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь сделать OCR арабский на следующем идентификаторе, но получаю очень шумное изображение и не могу извлечь из него информацию.

Вот моя попытка

import tesserocr
from PIL import Image
import pytesseract
import matplotlib as plt
import cv2
import imutils
import numpy as np

image = cv2.imread(r'c:\ahmed\ahmed.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray,11,18,18)

gray = cv2.GaussianBlur(gray,(5,5), 0)

kernel = np.ones((2,2), np.uint8)


gray = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
            cv2.THRESH_BINARY,11,2)
#img_dilation = cv2.erode(gray, kernel, iterations=1)


#cv2.imshow("dilation", img_dilation)

cv2.imshow("gray", gray)

text = pytesseract.image_to_string(gray, lang='ara')
print(text)
with open(r"c:\ahmed\file.txt", "w", encoding="utf-8") as myfile:
    myfile.write(text)
cv2.waitKey(0)

результат

образец

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Текст вашего идентификатора выделен черным цветом, что облегчает процесс извлечения.Все, что вам нужно сделать, это ограничить темные пиксели, и вы сможете получить текст.

Вот фрагмент кода

import cv2
import numpy as np

# load image in grayscale
image = cv2.imread('AVXjv.jpg',0)

# remove noise
dst = cv2.blur(image,(3,3))

# extract dark regions which corresponds to text
val, dst = cv2.threshold(dst,80,255,cv2.THRESH_BINARY_INV)

# morphological close to connect seperated blobs
dst = cv2.dilate(dst,None)
dst = cv2.erode(dst,None)

cv2.imshow("dst",dst)
cv2.waitKey(0)

И вот результат:

enter image description here

0 голосов
/ 28 ноября 2018

Это мой вывод с использованием скрипта ImageMagick TextCleaner:

out

Скрипт: textcleaner -g -e stretch -f 50 -o 30 -s 1 C:/Users/PC/Desktop/id.jpg C:/Users/PC/Desktop/out.png

Посмотрите здесь если вы хотите установить и использовать скрипт TextCleaner в Windows ... Это руководство я сделал настолько простым, насколько это возможно после нескольких исследований, проведенных мной в той же ситуации.

Теперь это должно бытьочень легко обнаружить текст и (не уверен, насколько просто) его распознать.

...