Le blog à fennec (le blog de Xfennec)
Retour au blog <<

Écran multitouch : détection de doigts

Dimanche 27 avril 2008 à 20:33

Les choses bougent raisonnablement du coté de la réalisation de l’écran FTIR (épisode précédent). J’ai placé toutes les LEDs (40 !) sur le bas de l’écran, et il s’avère que ça crache tellement d’infrarouges que je ne vais probablement pas avoir besoin de placer de nouvelles LEDs sur la partie haute de l’écran. A voir à terme, mais je pense qu’une bande réfléchissante serait suffisante, dans le pire des cas.

J’ai eu l’occasion de trouver un peu de temps pour me pencher sur l’algo de détection des blobs. L’idée est d’arriver à détecter les "impacts" infrarouges laissés par les doigts en contact avec la plaque, pour déterminer combien de doigts (ou n’importe quelle autre extrémité composée de peau, bien sûr) sont posés sur la plaque de plexi, ainsi que la position, pression, et la vélocité de chaque doigt.

En environ une semaine (1h/jour ?), je suis arrivé à un truc pas trop mal. Étant en déplacement, je bossais avec une vidéo pré-enregistrée d’une minute, sur laquelle j’arrivais à un taux de réussite de 100%. L’algo offre des événements (OnTouch, OnUntouch, OnMove) très simples à utiliser ensuite. Hier soir, à l’aide de RyLe, nous sommes passés à un test grandeur nature, en temps réel. Nous avons massacré un volant Wii (les trucs à 10 euros vendus pour Mario-Kart [jeu de merde, soit dit en passant]) pour en extraire le filtre infrarouge que nous avons ensuite collé sur l’objectif de la webcam. Malgré de multiples essais (voir articles précédents), je n’ai jamais eu un résultant aussi probant : le filtre est excellent, et ne laisse quasi rien passer de la lumière visible ! En revanche, l’aglo a montré ses limites, étant très dépendant de l’éclairage ambiant et des réglages de la webcam (fps, taille de l’image, réglages de contraste, balance des blancs et autres).

La journée d’aujourd’hui a été l’occasion de pousser tout ça plus en avant, avec une belle découverte : la webcam (Philips SPC900NC) dispose d’un capteur d’excellente qualité qui, si on balance les bons réglages au driver (le non moins excellent "pwc" de Luc Saillard), fait ressortir différemment l’infrarouge "naturel" (soleil et la majorité des lumières artificielles, y compris halogènes) de l’infrarouge des LED (longueur d’onde différente, probablement), ces dernières générant à l’écran une teinte bleutée ! (à la différence du reste des IR, en gris). J’ai ainsi eu l’occasion de ré-écrire l’algo en tenant compte de cette nouvelle donne, et le résultat est maintenant excellent, même en pleine lumière.

Voilà, sous forme d’une toute petite vidéo très sombre (faizez péter le gamma !), ce que ça donne :

Please enable Javascript and Flash to view this Flash video.

Sympa, non ? :)
Il reste un tas de choses à faire, mais c’est plutôt une belle avancée. Suite : trouver un vidéo-projecteur, et surtout une surface qui permette de projeter sur la plaque sans perturber le passage des IR.

par skaven
27 avril 2008 à 20:40

J’aurais mis Oxygen en musique de fond.
Beau boulot.

par SaMuRiZe
27 avril 2008 à 20:43

Pas mal du tout comme boulot, surtout que ça a l’air particulièrement réactif, sans lag ni rien.
J’aimerai bien réaliser quelque chose du genre, mais ça attendra le mois d’août.

par El_Porico
28 avril 2008 à 0:52

http://www.youtube.com/v/4uklUQ_Mjoc

Ce qu’on fait mes camarades de promo pour laval virtual :p

par Anonyme
10 mai 2008 à 10:26

salut !
deja un grand bravo pour ton ecran multi touch.
j’ ai deux petite question et sa sera sympa si tu pouvais mis repondre:
-quel est le logiciel utilisé ?
-est-ce que on peut controller windows avec ?

Je te laisse mon email
kill@hotmail.fr

Merci d’ avance.

par Anonyme
10 juillet 2008 à 18:02

Salut,

merci pour le post et bravo pour la prouesse!

j’aurai juste une question concernant la webcam Philips SPC900NC, as-tu enlevé le filtre anti infrarouge de la webcam?
si oui, comment as tu fait? je ne vois pas d’une part où il se trouve et ,comme tout est collé, j’ai peur de casser la webcam.
si non, comment as tu fait? tu as changer l’objectif?

voila, je suis un peu bloqué pour mon projet en ce moment à cause de ça,

si il était possible d’avoir une réponse ce serait sympathique (en espérant pas être le seul à me poser cette question)…

Merci d’avance, voila mon mail perso: jaso@hotmail.fr

good bye

par Anonyme
7 octobre 2008 à 13:24

salut,

comme déja 2 personnes mon posé la question de savoir si j’avais eu une réponse à ma question juste au dessus.
Je viens faire un nouveau post:
- Tout d’abord non je n’ai pas eu de réponse via le post précédent…
- Cela dit, j’ai tout de même trouvé une solution:

1) Déja, précaution, ne pas essayer de démonter le filtre infrarouge de l’objectif d’origine de la SPC900NC (j’ai un peu rayé la lentille en forçant dessus comme une brute, et ça n’a rien donné….). Il vaut peut être mieux le garder intact surtout si on veut s’en resservir plus tard en webcam.
2) Après il faut trouver un autre objectif à mettre dessus:
soit achat sur ebay objectif sans filtre IR pour philips spc900nc (j’ai pas cherché car ça me semblait etre une solution trop lente (delai de livraison))
soit ce que j’ai fait, prendre l’objectif d’une autre webcam (le pas de vis est standard sur les capteurs "à priori"…) dont le filtre est facile à enlever. Pour ma part webcam logitech quickcam, démontage facile et le prix pas exorbitant.
3) Ensuite bricolage de l’objectif si choix d’achat d’une autre webcam. J’entends par là retrait du filtre infrarouge et ajout de deux couches de pellicules photo si besoin de filtrer la lumière visible.
4) ENFIN!! Capacités de la philips spc900nc avec un objectif infrarouge!!!!

En espérant avoir aidé quelques-uns
voila mon mail perso au cas où: jaso@hotmail.fr

a+

Commenter

Si vous avez un compte sur WeFrag, connectez-vous pour publier un commentaire.

Tags autorisés : <a href="" title="">...</a>,<b>...</b>,<blockquote cite="">...</blockquote>,<code>...</code>,<i>...</i>.