J'ai un site Web qui permet aux utilisateurs de télécharger des images de voitures et je voudrais mettre un filtre de confidentialité en place pour détecter les plaques d'immatriculation sur le véhicule et les estomper.
Le flou n'est pas un problème, mais existe-t-il une bibliothèque ou un composant (open source préféré) qui vous aidera à trouver une licence dans une photo?
Avertissements;
J'ai codé une version C # basée sur Java ANPR, mais j'ai changé les fonctions de la bibliothèque awt avec OpenCV. Vous pouvez le vérifier sur http://anprmx.codeplex.com
[~ # ~] modifier [~ # ~] : J'ai écrit un script Python pour cela.
Comme votre objectif est flou (pour la protection de la vie privée), vous avez essentiellement besoin d'un détecteur rappel élevé dans un premier temps. Voici comment procéder. Les conseils de code inclus utilisent OpenCV avec Python.
Appliquez le flou gaussien.
img = cv2.imread('input.jpg',1)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_gray = cv2.GaussianBlur(img_gray, (5,5), 0)
Soit l'image d'entrée la suivante.
Seuil l'image résultante en utilisant un seuil strict ou la binarisation d'OTSU.
cv2.Sobel(image, -1, 1, 0)
cv2.threshold()
Appliquer une opération de fermeture morphologique à l'aide d'un élément structurant approprié. (J'ai utilisé 16x4 comme élément structurant)
se = cv2.getStructuringElement(cv2.MORPH_RECT,(16,4))
cv2.morphologyEx(image, cv2.MORPH_CLOSE, se)
Image résultante après l'étape 5.
Trouvez les contours externes de cette image.
cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
Pour chaque contour, trouvez la minAreaRect()
la délimitant.
Toutes les minAreaRect()
s sont affichées en orange et celle qui satisfait nos critères est en vert.
Vous pouvez appliquer d'autres filtres que vous jugez appropriés pour augmenter le rappel et la précision. La détection peut également être entraînée en utilisant HOG + SVM pour augmenter la précision.
Il y a une nouvelle bibliothèque open source sur GitHub qui fait ANPR pour les plaques américaines et européennes. Il semble assez précis et devrait faire exactement ce dont vous avez besoin (reconnaître les régions de la plaque). Voici le projet GitHub: https://github.com/openalpr/openalpr
Je suis tombé sur celui-ci qui est écrit en Java javaANPR , je cherche également une bibliothèque c #.
Je voudrais un système où je peux pointer une caméra vidéo sur certains voiliers, qui ont tous de grands numéros identifiables, et lui permettre d'identifier les bateaux et d'envoyer un Tweet lorsqu'ils passent devant une caméra vidéo.
J'ai fait une recherche sur ce sujet il y a quelques mois. Il y a pas mal d'articles sur ce sujet, mais je n'ai jamais trouvé d'implémentation open-source concrète. Il y a beaucoup d'implémentations commerciales cependant, mais aucune d'entre elles avec un devis, elles sont donc probablement assez chères.
essayez ce système de reconnaissance de plaque d'immatriculation automatique simple
Open source et écrit avec C #
Jetez un oeil à Java ANPR . Reconnaissance gratuite de la plaque d'immatriculation ...
Bibliothèque ANPR haute performance - http://www.dtksoft.com/dtkanpr.php . C'est commercial, mais ils fournissent une clé d'essai.
Oui, j'utilise gocr à http://jocr.sourceforge.net/ c'est une application en ligne de commande que vous pouvez exécuter à partir de votre application. Je l'utilise dans quelques applications.
http://licenseplate.sourceforge.net Python (je ne l'ai pas testé)