J'essaie d'extraire des données à partir d'un formulaire scanné. La forme a un format standard semblable à celui indiqué dans l'image ci-dessous:Python, détection de texte OCR
J'ai essayé d'utiliser pytesseract (Tesseract OCR) pour détecter le texte de l'image et il a fait un travail décent à trouver le texte et convertir l'image en texte. Cependant, il me donne essentiellement tout le texte détecté sans conserver le format des données.
Je voudrais être en mesure de faire quelque chose comme ci-dessous:
Trouver un élément particulier de texte, puis trouver les données associées ci-dessous ou à côté. Similaire à cette question en utilisant OpenCV Detect text region in image using Opencv
Est-il possible que je peux essentiellement faire ce qui suit:
- Ou trouver toutes les zones de texte sur le formulaire, effectuer l'OCR sur chaque boîte et de voir lequel est le plus proche du texte "witnesess:", puis trouve les sections immédiatement en dessous et effectue une OCR séparée sur celles-ci.
- Ou si le formulaire est standard et que je connais l'emplacement approximatif de la section de texte "témoin", puis-je spécifier son emplacement général dans opencv puis simplement extraire le texte ci-dessous et y effectuer une OCR.
EDIT: J'ai essayé le code ci-dessous pour tenter de détecter des régions spécifiques du texte. Cependant, il n'est pas spécifiquement identifier le texte seulement toutes les régions.
import cv2
img = cv2.imread('t2.jpg')
mser = cv2.MSER_create()
img = cv2.resize(img, (img.shape[1]*2, img.shape[0]*2))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
vis = img.copy()
regions = mser.detectRegions(gray)
hulls = [cv2.convexHull(p.reshape(-1, 1, 2)) for p in regions[0]]
cv2.polylines(vis, hulls, 1, (0,255,0))
cv2.imshow('img', vis)
Voici le résultat:
Tesseract peut vous donner des boîtes de délimitation, utilisez-vous un emballage? –
Étant donné que vous semblez avoir le formulaire dans un format bien défini, vous pouvez définir manuellement certaines zones de délimitation, recadrer l'image et exécuter tesseract sur ces images recadrées individuellement. – ZdaR