Comment détecter des objets sur les images?
J'ai besoin de python solution.
J'ai 40 à 60 images (Joyeuses Fêtes de fin d'ensemble). J'ai besoin de détecter des objets sur toutes ces images.
Je ne sais pas la taille de l'objet, la forme, l'emplacement sur l'image, je n'ai pas de modèle d'objet. Je sais une seule chose: cet objet est présent dans presque toutes les images. Je l'ai appelé OVNI.
Exemple:
Comme on le voit dans l'exemple, à partir d'une image à l'autre tout change sauf OVNI. Après la détection, je dois obtenir:
Coordonnée X du coin supérieur gauche
Coordonnée Y du coin supérieur gauche
largeur de l'objet bleu de la région (j'ai marqué de la région sur l'exemple rectangle rouge)
hauteur de l'objet bleu région
- Inclure quelques images que vous travaillez avec, sinon il ne peut pas être résolu.
- Sont réellement ces photos de vos Vacances Heureuses ensemble? Ou sont-ils pour l'illustration?
- Je ne suis pas entièrement comprendre. Vous disposez d'un ensemble de quelques dizaines d'images, tout ce que vous savez, c'est qu'ils (presque) contiennent toutes le même objet, quelque part, dans chaque image. Cependant vous ne savez pas ce que l'objet est ou à quoi il ressemble, et son apparence peut changer entre les images (vrai/faux?), mais vous voulez savoir ce que l'objet est commun à toutes ces images et de les localiser dans chaque image?
- Je viens d'ajouter plus exacte des exemples
Vous devez vous connecter pour publier un commentaire.
Lorsque vous avez les données de l'image sous forme de tableau, vous pouvez utiliser les haut-numpy fonction pour faire cela facilement et rapidement:
vous donnera, pour la première image:
Donc vos données souhaitées sont:
(27, 78)
166 - 27 = 139
156 - 78 = 78
J'ai choisi que "chaque pixel bleu-valeur supérieure à la médiane de toutes les blue valeurs" appartient à votre objet. J'attends que cela fonctionne pour vous; si pas, essayez autre chose ou donner des exemples où cela ne fonctionne pas.
MODIFIER
J'ai retravaillé mon code pour être plus général. Comme les deux images, avec la même couleur en forme, ne sont pas suffisamment général (en tant que votre commentaire indique) j'ai créer plus d'exemples de synthèse.
Ici, la couleur de la forme est réglable. Pour chacune des N=26 images aléatoires de la couleur d'arrière-plan est choisi. Il serait également possible de mettre un bruit de fond, cela n'aurait pas changé le résultat.
Puis, j'ai lu votre image de l'échantillon, de créer une forme de masque-à partir d'elle et l'utiliser pour créer des images d'exemple. J'ai tracé sur une grille.
Pour une autre valeur de
shape_color
(paramètrecreate_sample_set(...)
), cela pourrait ressembler à:Prochaine, je vais déterminer les pixel par pixel variabilité usind l'écart-type. Comme vous l'a dit, l'objet est sur (presque) toutes les images à la même position. Ainsi, le variabiliy dans ces images sera faible, alors que pour les autres pixels, il sera nettement plus élevé.
Enfin, comme dans mon premier extrait de code, de déterminer la boîte englobante. Maintenant, j'ai aussi fournir une parcelle d'elle.
Que c'est. J'espère que c'est assez générale cette fois.
Script complet pour copier et coller:
- Je créer un deuxième réponse au lieu de l'étendre ma première réponse encore plus. J'utilise la même approche, mais sur vos nouveaux exemples. La seule différence est que: - je utiliser un ensemble de seuils fixés au lieu de déterminer automatiquement. Si vous pouvez jouer avec elle, cela devrait suffire.
Produit parcelles:
Vos besoins sont étroitement liés à ERP en neurosciences cognitives. Le plus les images de l'entrée que vous avez, le mieux cette approche ne fonctionnera que le rapport signal-à-bruit augmente.