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

  FORUM HardWare.fr
  Graphisme
  Web design

  [flash] reconnaissance de forme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[flash] reconnaissance de forme

n°521733
Broceliand​e
Posté le 18-08-2004 à 12:34:13  profilanswer
 

Bonjour, j'aimerai faire un système de reconnaissance de forme sous flash pour une navigation.  
J'ai déjà vu un système similaire lors du concours de flash aux eMagiciens de Valencienne. Y'a un truc visible là : http://jbspieser.free.fr/interactivite.html#webjam
Quelqu'un aurait-une idée comment on fait ça ?  
Merci

mood
Publicité
Posté le 18-08-2004 à 12:34:13  profilanswer
 

n°521739
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 12:42:48  profilanswer
 

Tu peux être plus explicite?


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521742
Broceliand​e
Posté le 18-08-2004 à 12:43:58  profilanswer
 

dessiner une forme simple à la souris qui soit reconnue (genre un carré, un triangle, cf. le lien joint) et l'associer à une action.

n°521756
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 13:06:04  profilanswer
 

Comme dans le jeu Black & White?


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521758
Broceliand​e
Posté le 18-08-2004 à 13:07:14  profilanswer
 

yep tout à fait :)

n°521760
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 13:07:48  profilanswer
 

Euh... doit y avoir un bon petit algo derrière pour faire des analogies de forme... Parc'que les tracés à la souris... :/


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521766
Broceliand​e
Posté le 18-08-2004 à 13:11:36  profilanswer
 

probablement.
Les tracés de souris c un peu la galère ;)
des idées sur le "bon petit algo" ?

n°521786
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 13:47:42  profilanswer
 

Tu enregistes le tracé de souris comme une image N&B et tu fais une comparaison avec les autres formes... A ce moment là ça relève plus des algos de reconnaissance de caractère... cf pda...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521789
Broceliand​e
Posté le 18-08-2004 à 13:49:48  profilanswer
 

enregistrer un clip comme image NB c faisable ça ???


Message édité par Broceliande le 18-08-2004 à 13:50:03
n°521791
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 13:50:25  profilanswer
 

yep... il me semble bien...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
mood
Publicité
Posté le 18-08-2004 à 13:50:25  profilanswer
 

n°521792
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 13:50:38  profilanswer
 

y'a bien des API de dessin en flash...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521793
Broceliand​e
Posté le 18-08-2004 à 13:51:19  profilanswer
 

hm...je vais voir de ce coté. Je te remercie.

n°521794
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 13:51:22  profilanswer
 

la seule différence, c'est que là tu ne fais pas apparaître le tracé...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521795
Broceliand​e
Posté le 18-08-2004 à 13:53:13  profilanswer
 

Je vais peut-etre demander au type qui l'a déjà fait en fait. Je vaixlui envoyer un mail à partir de son site. sait-on jamais ;)

n°521801
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 13:58:45  profilanswer
 

Bon courage...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521820
yannick_fr​ere
Posté le 18-08-2004 à 14:19:50  profilanswer
 

A mon humble avis, ça ne fonctionne pas en mode bitmap et il n'y a pas de reconnaissance de caractère sur des pixels.
 
Je pense que c'est vectoriel : par exemple pour les traits / et \, je peux (enfin "on" peut) mémoriser la position de la souris lors du click down et celle lors du click up. Si le click up est à gauche et en bas du click down alors il s'agit de / sinon c'est \.
 
On peut aller plus loin avec des formes à plusieurs traits. Le principe est de reconnaitre une forme en ne mémorisant qu'un certain nombre de points de celle-ci, la position relative des points entre eux (où est un point par rapport au précédent) et la longueur du trait entre deux points.
Evidemment, pour que la reconnaissance soit souple, il faudra ajouter une certaine tolérance d'erreur (exemple, un triangle pas tout à fait fermé, une droite non rectiligne, etc ...).
 
Je pense qu'il vaut mieux chercher dans cette voie-là !


Message édité par yannick_frere le 18-08-2004 à 14:33:51
n°521848
Broceliand​e
Posté le 18-08-2004 à 14:46:24  profilanswer
 

okok merci je vais réfléchir à ça

n°521852
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 14:52:55  profilanswer
 

Et comment tu détermines qu'il faut prendre la valeur dans un virage (genre coin de triangle)?


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°521885
yannick_fr​ere
Posté le 18-08-2004 à 15:54:50  profilanswer
 

Heu ... j'étais pas en train de faire une théorie hein ! ^^ C'est juste que si je devais chercher, j'irais dans cette voie-là.
 
Pour ta question : sur l'animation du gars, on voit clairement que la position de la souris est mémorisée tous les X centièmes de secondes (ça peut être des dizièmes, j'en sais rien -_-) : le trait est en fait une succession de petits vecteurs qui lient deux points.
 
Donc le gars récupère tous les points et même plus qu'il n'en faut (pour une droite par exemple, il n'en faut que deux, mais le gars en capture bien plus)(c'est normal !).
 
Après il faut analyser tous ces points. Voici une petite proposition : chaque vecteur a une direction et un point de départ (le point précédent !). Quand on passe de point en point, on peut récupérer l'angle qui se forme entre les différents vecteurs. C'est grâce à ces angles et à la longueur des segments que l'on peut suivre la courbe :
 
- dans le cas d'une droite, la somme des N premiers vecteurs (infos importantes : angle + longueur) forme un vecteur qui ne s'écarte pas trop de l'alignement avec le vecteur de la somme des N-1 premiers éléments. Un vecteur formé par la somme de X vecteur constitue donc la direction générale induite par plusieurs points/vecteurs.
- lors d'un changement de direction, le vecteur somme des N premiers vecteurs s'écarte trop (au-delà d'une constante) du vecteur somme des N-1 premiers éléments. L'angle détecté est trop gros pour qu'on puisse le tolérer dans ce qui pourrait être une droite. Il s'agit donc d'un changement de direction.
 
Dans l'algorithme, on peut suivre ces idées avec ceci : dès qu'un changement de directtion est détecté, les multiples points sources sont remplacés par le vecteur unique (somme des N-1 points) et ensuite on continue l'analyse des points qui suivent. Mais le premier point est alors le Nième, plus le premier évidemment.
 
Normalement, à la fin, on obtient la forme générale. Il suffit alors de la comparer avec une forme pré-enregistrée en comparant le nombre de points et la position relative de ceux-ci lors du parcours des deux trajets.
 
Tout ceci permet d'avoir des droites pas parfaitement rectilignes, de détecter des coins .. et de différencier les coins très arrondis des coins "pointus".
 
Evidemment, ça demande un peu de "dosage" pour que la détection soit parfaite : des chemins bien choisis (favoriser les grands angles), des constantes et des valeurs de tolérance adaptées, etc ...

n°521893
Jbanos
Posté le 18-08-2004 à 16:17:25  profilanswer
 

héhé
 
Je suis "le gars" en question.
J'ai reçu un mail d'un arthur pour me dire qu'il avait posté la question sur ce forum.
Je savais même pas qu'il y avait du Flash sur HFR d'habitudes je fréquente que le Achat/vente ;)
 
Bon ça remonte déjà un peu à loin pour moi. J'avais fait ça en novembre 2003, et Yannick_frere, si tu devais chercher tu emprunterais la bonne voie ;)
 
Au départ c'est du setInterval pour récupérer les points à intervales régulier et les stocker dans un tableau.
Après je "nettoie le signal", en prenant les points 3 à 3 et on considèrant les 2 vecteurs supports des 2 segments composés par les 3 points. Je fais simplement un produit scalaire entre les 2 que je compare à une valeur fixe. Si le produit sclaire est trop important, les 2 vecteurs sont proches, donc on considère que les 3 pts sont alignés et je vire le point du milieu. Et je continue comme ça sur l'ensemble du tableau.
A la fin il ne reste nécessairement plus que les points qui font les angles de la forme (où les plus proches de ces coins puisqu'avec les SetIntervale c'est des données discrètes qu'on utilise).
 
A la fin je compare ce tableau (et ses permutations circulaires ainsi que son "inverse" et ses permutations pour la cas où la figure est dessinée dans l'autre sens) aux éléments d'une banque de tableau préétablie. Et je calcule la similarité la plus grande pour savoir quelle forme est dessinée.
 
voilou ;)
 

n°521899
yannick_fr​ere
Posté le 18-08-2004 à 16:28:09  profilanswer
 

Merci d'être passé nous éclairer :jap:
 
Ta manière de faire est carrément plus simple =)

n°521931
Banane mas​quee
Yé vé té fer la pô...
Posté le 18-08-2004 à 17:13:48  profilanswer
 

Pour la comparaison tu fais comment? Tu mets ton signal de réf et le signal nettoyé à même échelle d'après la distance entre 2 points et après tu accordes une zone de tolérance autour de chaque point?


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°522013
Jbanos
Posté le 18-08-2004 à 18:38:34  profilanswer
 

Pour la comparaison finale, pas la peine de s'embêter à tout remettre à la même échelle. Comme je compare à tous les éléments de la banque où les vecteurs sont eux tous à la même échelle (généralement vecteur de norme 1 rarement 2) et que je garde le meilleur résultat, on n'est pas obligé de faire une mise à l'échelle.  
Grosso modo, un petit "w" ressemblera toujours plus à un grand "W" qu'à un petit m.
Après c'est toujours le même système de produit scalaire (le produit scalaire c'est la base des de tous les systèmes de reconnaissances, sauf que là on reste dans un espace vectoriel "classique" mais pour de la reconnaissance de visage on peut utiliser pour dimension l'écartement des yeux, la taille de la bouche etc...).
Si je me souviens bien je crois que je fais une moyenne pondérée des produits scalaires de chaque "paire" de vecteurs (celui du tracé et celui de la référence).
Notons que s'il n'y a pas le même nombre de traits dans la figure que dans la référence, c'est même pas la peine de faire le test ;)

n°522242
Banane mas​quee
Yé vé té fer la pô...
Posté le 19-08-2004 à 10:05:34  profilanswer
 

:jap:


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°522343
CastaLibre
Posté le 19-08-2004 à 11:37:05  profilanswer
 

je m'incline :jap:

n°522460
Jbanos
Posté le 19-08-2004 à 14:04:06  profilanswer
 

arf ;)


Message édité par Jbanos le 23-08-2004 à 02:07:04

---------------
Plus la nuit porte conseil, moins elle repose... http://www.janosawok.net
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Graphisme
  Web design

  [flash] reconnaissance de forme

 

Sujets relatifs
[flash] flash MX 2004 ou Swish 2 ?[Flash]Ne se lit pas au chargement...
mouvement aléatoir avec flashalords vous en pensé quoi ??? site en flash
Creation de vague en forme de cercleflash mx
Contrôle du volume dans flash.mise en forme du texte en CSS
besoin d'aide pour une anim flashcherche de l'aide pour une anim flash
Plus de sujets relatifs à : [flash] reconnaissance de forme


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