Coordonnées du texte encadré sur une image
Je voudrais obtenir les coordonnées du texte encadré sur une image. Les paragraphes ont de fines bordures noires. Le reste de l'image contient des paragraphes et des croquis habituels.
Voici un exemple:

Avez-vous une idée du type d'algorithmes dois-je utiliser en Python avec une bibliothèque d'images pour y parvenir? Merci.
Réponses
Quelques idées pour détecter un texte encadré qui se résume en grande partie à la recherche de cases / rectangles de taille conséquente:
trouver des contours avec OpenCV, analyser des formes à l'aide de l' algorithme d'approximation des polygones (également connu sous le nom d' algorithme de Ramer – Douglas – Peucker ). Vous pouvez également vérifier le rapport hauteur / largeur du cadre de sélection pour vous assurer que la forme est un rectangle et vérifier la largeur de la page, car cela semble être une métrique connue dans votre cas. PyImageSearch a fait cet article étonnant:cv2.approxPolyDP()
- Détection de forme OpenCV
dans une question connexe , il est également suggéré d'examiner les lignes de Hough pour détecter une ligne horizontale, en effectuant un tour et en détectant les lignes verticales de la même manière. Je ne suis pas sûr à 100% de la fiabilité de cette approche.
Une fois que vous avez trouvé les cadres de la boîte, l'étape suivante consiste à vérifier s'il y a du texte à l'intérieur. La détection de texte est un problème plus large en général et il existe de nombreuses façons de le faire, voici quelques exemples:
appliquer le détecteur de texte EAST
PixelLink
tesseract (par exemple via
pytesseract
) mais je ne sais pas si cela n'aurait pas trop de faux positifss'il s'agit d'un cas plus simple de cases vides ou non, vous pouvez vérifier les valeurs moyennes de pixels à l'intérieur - par exemple avec cv2.countNonZero(). Exemples:
- Comment identifier un rectangle vide en utilisant OpenCV
- Comptez les pixels noirs en utilisant OpenCV
Références supplémentaires:
- idées sur la détection de quadrangle / rectangle à l'aide de réseaux de neurones convolutifs