Quelqu'un a-t-il une idée sur la façon dont je peux créer des formes à partir de Canny Edge Detection in Canvas?Créer des formes à partir de Canny Edge Detection in Canvas
Répondre
Je suppose ici que vous avez déjà le Canny edge detection implemented basé sur la façon dont la question est formulée -
Vous pouvez utiliser une approche such as this (écrit en Java, mais devrait être assez facile à traduire en JavaScript) et/ou peut-être quelques-uns utilisation limitée de line-fitting approaches (statistique).
L'essentiel est que vous deviez déterminer quels pixels sont connectés et créer vous-même des objets/tableaux de polygones en fonction du résultat de la détection de contour. Une fois que vous avez les pixels connectés, vous pouvez utiliser des algorithmes de réduction ponctuelle tels que l'algorithme Ramer–Douglas–Peucker (JavaScript implementation here) pour éviter que les polygones ne contiennent tous les points de lignes inclinées similaires et ainsi de suite. Vous rencontrerez de nombreux défis, tels que de courtes lignes segmentées dues à trop de bruit dans l'image originale ou des "lignes faibles", des groupes de "lignes" qui rendent difficile de trouver comment les connecter. polygones.
Je ne sais pas de toutes les bibliothèques pour cela, mais vous pouvez:
- Utilisez
getImageData()
pour accéder à un octet [] de données de pixels - Mettre en oeuvre votre propre filtre de convolution au-dessus de ces données (des exemples pour cela peut exister en ligne)
de cette façon, vous trouverez des zones de contraste élevé (bords.)
EDIT Je suis d'accord avec Ken - j'ai peut-être mal lu la question. En plus de la réponse de Ken, si vous connaissez le type de formes que vous cherchez, vous pouvez regarder le Hough Transform qui est bien adapté pour détecter des lignes, des ellipses et d'autres formes qui peuvent être définies géométriquement en utilisant seulement quelques paramètres.
- 1. Canny edge Vs Skeletonization
- 2. Canny Edge Detector en C
- 3. Sobel Edge Detection dans Android
- 4. find edge in image
- 5. Image Edge Detection en C++
- 6. Optimisation du détecteur Canny Edge pour Android
- 7. Exécuter Canny Edge dans HSV Image
- 8. Détection OpenCV Canny Edge d'une vidéo en C++
- 9. OpenCV Canny Edge sur la vidéo en direct
- 10. Canny Edge Detector - problème dans la mise en œuvre
- 11. ITK Insight Toolkit - Filtre lent Canny
- 12. Dessiner des formes avec JavaScript et Canvas
- 13. Remplissez Formes Concave Canvas
- 14. Tentatives de dessiner des formes sélectionnées à partir de la barre d'outils - HTML5 CANVAS
- 15. Draw String in Canvas
- 16. jQuery - Créer des formes à partir du menu
- 17. Ombres portées autour des formes svg/vml ou canvas
- 18. Ajout de formes à Canvas. Comment lier à VM
- 19. Comment supprimer des formes spécifiques de Canvas dans WPF?
- 20. GWT: Créer un widget Canvas à partir de CanvasElement
- 21. EmguCV Canny fenêtre noire
- 22. Détecteur de bord Canny
- 23. Générer des données d'image à partir de l'élément HTML Canvas
- 24. OpenCV convertissant des arêtes Canny aux contours
- 25. pour créer des formes de tableaux
- 26. comment peut créer une collection à partir des contrôles de deux canvas
- 27. en boucle à travers chaque tableau pour créer des formes
- 28. Obtenir des entrées à partir du clavier avec Canvas
- 29. Comment puis-je modifier JavaScript à partir de Microsoft Edge?
- 30. Comment créer une application Edge rails?