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 :
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.
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.