J'ai une grande collection d'images numérisées et elles sont toutes quelque peu asymétriques, avec une zone blanche qui leur entoure. p>
Donc, ces images ont des rectangles de couleurs, entourées d'une grande zone blanche. Le problème est que ces rectangles de couleur ne sont pas parallèles à la bordure d'image. P>
Je suis sûr qu'il doit y avoir un moyen de détecter de manière programmable ces rectangles de couleur, de sorte que je puisse faire pivoter l'image (ainsi la biaiser), puis le cultiver pour que la partie intéressante soit laissée. Je suppose que je ne suis pas vraiment sûr de ce que ce processus s'appelle, j'ai donc du mal à rechercher une solution sur Google. P>
Est-ce que quelqu'un connaît une approche qui me ferait commencer? Des bibliothèques là-bas que je devrais regarder dans? Ou le nom d'un algorithme qui aiderait? P>
Je prévois d'utiliser Java pour ce projet, mais je n'ai pas encore commencé, alors je suis ouvert aux suggestions de bibliothèque dans n'importe quelle langue. P>
3 Réponses :
Merci! Une recherche de Hough Transnation m'a conduit à reconnaissance-software.com/image/deskew Ce qui n'a pas résolu mon problème de la boîte, mais j'ai pu modifier un peu le code pour le faire fonctionner très bien.
Était-il altéré par Tess4J?
Vous pouvez aussi essayer SCIKIT-image http://scikit-image.org/docs/ dev / auto_examples / . P>
C'est une grande bibliothèque pour la transformation de Hough, mais a également d'autres méthodes telles que la transformation du radon et les transformations géométriques pour ce type de tâche. p>
Ceci est une bibliothèque Python. p>
ALYN est un package tiers pour détecter et corriger l'inclinaison dans des images contenant du texte. Il utilise la détection des bords de canny et la transformation de Hough pour trouver une mouchette.
Pour détecter le skew, il suffit d'exécuter p> pour corriger la broche, exécuter P> ./deskew.py -i image.jpg -o skew_corrected_image.jpg