Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1553 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java/Algo] Reconnaitre un disque dans un image

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java/Algo] Reconnaitre un disque dans un image

n°411592
Ricco
Retour au pays
Posté le 30-05-2003 à 16:32:59  profilanswer
 

Voilà, je fais quelques essais en prévision d'un prochain stage ...
Comment reconnaitre des disque d'une certaine taille et de couleur blanche, sur un fond noir/bruité ?  
Je pense à certain algos, mais il doit en exister des tout près et performant.
 
Pour l'instant, j'arrive à ouvrire une image JPG, la transformer en BufferedImage pour faire des getRGB etc ...
 
Sinon, en java, peut on ouvrire des video, avi ou autre, et faire le même genre de traitement, image par images ?


Message édité par Ricco le 30-05-2003 à 16:33:32
mood
Publicité
Posté le 30-05-2003 à 16:32:59  profilanswer
 

n°411635
nraynaud
lol
Posté le 30-05-2003 à 17:17:45  profilanswer
 

ricco a écrit :

Voilà, je fais quelques essais en prévision d'un prochain stage ...
Comment reconnaitre des disque d'une certaine taille et de couleur blanche, sur un fond noir/bruité ?  
Je pense à certain algos, mais il doit en exister des tout près et performant.


Transformation de hough.

n°411704
noldor
Rockn'roll
Posté le 30-05-2003 à 19:44:11  profilanswer
 

nraynaud a écrit :


Transformation de hough.

hough, c'est pas plus pour des choses linéaires ?


---------------
http://runnerstats.net
n°411709
Ricco
Retour au pays
Posté le 30-05-2003 à 19:58:41  profilanswer
 

Ouai bon, je me suis peut-être enflammé ...  
En fait je chercherais en gros comment faire ... même finalement une methode bourin au début pour voir quitte à l'améliorer ensuite.
A la rigueur, trouver un groupe de pixel pour gros qu'une certaine valeur, ok avec des fonction recursives qui partent dans plusieurs directions en chageant la couleur des pixels sur leur passage ... mais une fois ce disque trouvé, comment trouver le centre à peu près ? Est-ce une bonne solution de stoquer la valeur moyenne de son point le plus haut et de son point le plus bas ?
Je code quelques lignes pour voir mais je me suis pas vraiment lancé encore ...


Message édité par Ricco le 30-05-2003 à 20:04:34
n°411719
MagicBuzz
Posté le 30-05-2003 à 20:10:22  profilanswer
 

Perso, je scanera l'image pixel par pixel, ligne pas ligne, de haut en bas, à la recherche de changement de couleurs.
 
A partir de là, tu auras une matrice de booléens.
 
Première passe : tu vire les points isolés.
Seconde passe, tu récupère les extrémistés de chaque changement de couleur, cette fois horizontalement, puis verticalement.
A partir de là, tu auras une série de courbes représentées dans ta matrice. Reste plus qu'à partir de leurs coordonées, à retrouver si ça correspond vaguement à un cercle, et ce pour chaque zone repérée (au cas où tu doives retrouver plusieurs disques dans une même image).
 
Je ne pense pas que ce soit extrêment lent.
La première passe étant à priori la plus lente, la recherche d'une expression de cercle passant par certains points choisis étant facile à faire.
 
Sinon, pour retrouver le centre du cercle, fait comme tu dis, mais aussi avec le point le plus à droite et le plus à gauche : ça permettra d'être beaucoup plus précis

n°411749
nraynaud
lol
Posté le 30-05-2003 à 20:56:25  profilanswer
 

noldor a écrit :

hough, c'est pas plus pour des choses linéaires ?


http://www.google.com/search?q=hou [...] ISO-8859-1
Oh bah dit donc, t'as de la chance, c'est le 2ème lien !
 
pour répondre : il a fait des lignes droite, il a trouvé ça facile alors il a fait les ronds
 
D'ailleur je me demande si on devrait pas en faire une pour les têtes de Mikey.

n°446651
Gardien
Posté le 02-07-2003 à 17:43:03  profilanswer
 

Salut,
 
Il existe l'algorithme de ligne de partage des eaux (ou inondation ou hill climbing) qui permet de délimiter des zones dans une image. L'algo est facile à implémenter par contre de la a détecter des cercles ... il reste encore bcp de boulot !!

n°447333
Kahyman
Posté le 03-07-2003 à 11:24:27  profilanswer
 

Citeseer est ton ami...
 
http://citeseer.nj.nec.com/cs
 
petite recherche sur "circle and detection and image" et tout ce qui te passe par la tete. Fait une recherche sur les transformations de hough, trouve l'article cle, puis regarde quels sont les articles qui font reference a celui-ci, quels sont les articles les plus cites, trouve les conferences qui traitent du sujet, etc... tu auras en l'espace d'une petite heure une bonne idee de ce qui a ete fait.
 
En deux minutes tu te rendras compte qu'il existe l'IAPR  
 
http://www.iapr.org/
 
Et qu'une floppee de conferences sur la detection de patterns existent... Ensuite tu prends les articles et tu cherches les algos
 
Note ?
 
:ange:

n°448639
Ricco
Retour au pays
Posté le 04-07-2003 à 12:53:41  profilanswer
 

Merci pour votre aide.
La note, je l'aurais qu'en septembre :) encore un moi de stage.
Pour l'instant, j'isole la petite bete en soustrayant l'image à la moyenne des autres images. Un léger seuillage et il me reste des points plus ou moins blancs, sur un fond noir. Je scanne ensuite l'image à la recherche d'un certain nombre de pixels blancs côte à côte, et je fais le centre de masse pour trouver le milieu. je stocke tout ça.
Actuellement, je cherche à voir, si c possible, comment le mieux labelliser les bêtes, les suivre entre les images. On m'a parler du filtre de Kalman ... mais c compliqué, g un peu la flême de me plonger la dedans ... G fait des algo à l'arrache, en reunissant les bêtes les plus proche mais ça fait pas très serieux ... Ca marche plutôt bien sauf qd 2 bêtes se rapprochent.
 
En + j'attaque l'analyse de 2 images en même temps pour sortir les coordonnés 3d, sans un algo fiable je vais pas aller loin ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java/Algo] Reconnaitre un disque dans un image

 

Sujets relatifs
[JAVA] Implementer une limite de temps sur une appli = trialwarePause en Java [ Résolu]
[java] ouverture de fichier ... [cai bon][Java]Gestion de sources...
Affichage d'1 image dans une partie de la fenêtreOu puis je trouver des librairies concernant du traitement d'image??
java + swing + graph2D[Algo] + longue Sequence commune à 2 sequences
[JAVA]Bouger la souris dans une appletjava + son avec le beeper
Plus de sujets relatifs à : [Java/Algo] Reconnaitre un disque dans un image


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR