Comment comparer deux images & reconnaître le motif dans une image quelle que soit sa taille et sa taille, et utiliser .Net C#? En outre, quels algorithmes sont utilisés pour le traitement de l'image?Comment comparer deux images et reconnaître le motif dans une image?
Répondre
Voir Scale-invariant feature transform, template matching et Hough transform. Une supposition rapide et inexacte peut être de faire un histogramme de couleur et de le comparer. Si l'image est suffisamment compliquée, vous pourrez peut-être distinguer plusieurs séries d'images. Pour simplifier, supposons que nous ayons trois compartiments pour R, G et B. Une image complètement blanche aurait (100%, 100%, 100%) pour (R, V, B). Une image complètement rouge aurait (100%, 0%, 0%). Une image compliquée peut avoir quelque chose comme (23%, 53%, 34%). Si vous prenez la distance entre les points de cet espace (R, G, B), vous pouvez comparer celui qui est le plus proche.
rechercher la reconnaissance de formes. J'en savais très peu autre que le nom.
Avertissement: Si c'est ce que vous voulez, c'est l'un des problèmes de programmation les plus difficiles du monde réel.
Scale-invariant feature transform (SIFT) peut être ce que vous cherchez. Cependant, ce n'est pas simple à comprendre ou à implémenter.
Je ne suis pas expert en reconnaissance d'image par I une fois stummbeled à la bibliothèque AForge qui est écrit en C# et fait la reconnaissance d'image. Peut-être que cela peut aider ...
Les techniques de correspondance d'image et de reconnaissance d'image peuvent être très différentes. Pour la première tâche, vous pouvez utiliser SIFT ou créer votre propre fonction de distance, basée sur RVB ou autre. Pour la reconnaissance, il existe une grande quantité de techniques d'apprentissage automatique que vous pouvez utiliser, des techniques plus populaires impliquent Adaboost, SVM et autres méthodes de réseaux neuronaux hybrides. Les documents de recherche connexes ne manquent pas dans ce domaine. Google est ton ami.
Jinmala, vous avez posé une question ici qui est extrêmement large. Il y a littéralement des milliers d'articles dans la littérature sur ces sujets. Il n'y a pas de bonne réponse, et il y a beaucoup de problèmes non résolus dans la comparaison des images, donc vous ne pouvez probablement pas espérer une solution simple qui fonctionne (sauf si votre situation est assez simple et contrainte)
Si vous resserrer les choses, je pourrais être en mesure d'aider.
Vous cherchez peut-être cette
System.Drawing.Bitmap sourceImage = (Bitmap) Bitmap.FromFile (@ "C: \ SavedBMPs \ 1.jpg"); System.Drawing.Bitmap modèle = (Bitmap) Bitmap.FromFile (@ "C: \ SavedBMPs \ 2.jpg"); // créer modèle algorithme de instance correspondant // (seuil fixé de similarité à 92,5%)
ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0.921f);
// find all matchings with specified above similarity
TemplateMatch[] matchings = tm.ProcessImage(sourceImage, template);
// highlight found matchings
BitmapData data = sourceImage.LockBits(
new Rectangle(0, 0, sourceImage.Width, sourceImage.Height),
ImageLockMode.ReadWrite, sourceImage.PixelFormat);
foreach (TemplateMatch m in matchings)
{
Drawing.Rectangle(data, m.Rectangle, Color.White);
MessageBox.Show(m.Rectangle.Location.ToString());
// do something else with matching
}
sourceImage.UnlockBits(data);
Je vous préviens, il est assez lent prend environ 6 secondes pour traiter l'image de 1024x768 y trouvant pciture avec la taille 50x50. enter code here
ImageMagick a un article intéressant sur ce point: http://www.imagemagick.org/Usage/compare/#sub-image
template matching, vous pouvez le faire avec EmguCV, OpendotnetCV, Aforge.net
Pourriez-vous s'il vous plaît élaborer votre réponse un peu plus? – slfan
- 1. mise en page dégradables HTML pour comparer deux images
- 2. Comment reconnaître facilement si le flux est une vidéo ou une image [bibliothèque ffmpeg]
- 3. Voyez-vous des motifs (anti) dans mon design? Comment reconnaître le motif?
- 4. Comment comparer deux référentiels git?
- 5. comment comparer les deux date
- 6. Comment reconnaître deux mots différents dans un regex sans regroupement
- 7. reconnaître l'effet de texte sur une image pour photoshop
- 8. Comparer deux dates - sans heure et seconde
- 9. Comparer deux xml et imprimer la différence en utilisant LINQ
- 10. comment comparer deux fichiers et extraire la différence?
- 11. Comparer deux valeurs
- 12. regex comparer deux nombres
- 13. Comment combiner deux images mono-couleurs?
- 14. une chaîne dans « > et</ motif
- 15. Comparer deux XmlNodes en C#
- 16. Comment comparer si deux objets sont vraiment le même objet?
- 17. OCR: Comment comparer les images, trier hors pair et le faire rapidement?
- 18. problème de comparer deux tableaux
- 19. Comment puis-je comparer deux fichiers dans un fichier batch?
- 20. Comment pouvez-vous comparer deux pipelines dans Bash?
- 21. Comment comparer deux tableaux d'objets DataRow dans PowerShell?
- 22. Comment puis-je comparer deux révisions de git dans Eclipse?
- 23. Combiner deux images dont une est transparente
- 24. Comment puis-je comparer deux rangées de datatable dans QTP
- 25. Comment puis-je comparer deux valeurs glob dans Oracle
- 26. Rendu Deux images dans ImageView dans Android?
- 27. Afficher d'énormes images défilantes dans Image?
- 28. Comment comparer le contenu de deux fichiers texte et retourner "Même contenu" ou "contenu différent"?
- 29. Comparer deux tableaux contenant des chaînes?
- 30. Motif correspondant dans le schéma
Pourriez-vous être plus précis sur le type d'images que vous traitez et sur le type de modèles que vous essayez de faire correspondre? – Ivan
@Jinmala alors qu'avez-vous finalement fait? – Lazer
-1 pour ne pas revenir sur cette question. – BerggreenDK