Echelle automatique vidéo, détection d'objectifs par webcam

Tous vos montages et bricolages liés aux observations naturalistes.
Règles du forum
Tous vos montages et bricolages liés aux observations naturalistes.

Echelle automatique vidéo, détection d'objectifs par webcam

Messagede Blitz » 22 Avr 2023 18:19

Bonjour, nouvellement arrivé ici, et histoire de ne pas faire que "prendre" des infos sur le forum, voici la solution que j'utilise pour avoir une échelle automatique sur les vidéos quand je stream en live. Il suffit de changer d'objectif sur le microscope pour que l'échelle se mette à jour toute seule.

Le principe est d'utiliser une webcam montée sur le microscope, qui filme les objectifs, pour détecter quel objectif est actuellement utilisé, et d'envoyer un texte personnalisé correspondant dans un fichier texte, qui est récupéré par le logiciel de streaming (dans mon cas j'utilise OBS), et qui affiche le texte personnalisé sur la vidéo. La caméra est montée sur le microscope avec des supports imprimés en 3D.

webcam.jpg
Exif et Meta MicroCartouche webcam.jpg (93.29 Kio) Vu 503 fois


Pour détecter quel objectif est utilisé et envoyer un texte personnalisé dans un fichier texte, j'ai codé un petit logiciel qui s'appelle "Camera cross-correlation". On sélectionne la webcam, la résolution de capture (inutile de monter trop haut), la fréquence de capture (pareil, inutile d'aller trop haut), puis on prend un "snapshot" de chaque objectif sur lequel on peut mettre son texte personnalisé (ici 4x, 10x, 40x, 60x). Ensuite, le logiciel compare en permanence (10 fois par seconde dans l'exemple) l'image en temps réel (liveview) et les snapshots, pour déterminer quel objectif est utilisé, et donc quel texte envoyer dans le fichier texte pour être récupéré dans un autre logiciel.

cross-correlation.jpg
Exif et Meta MicroCartouche cross-correlation.jpg (151 Kio) Vu 501 fois


La comparaison s'effectue avec un algorithme de corrélation croisée, c'est naïf mais suffisant en pratique (tant que l'éclairage ne change pas trop !). On peut voir sur chaque snapshot un pourcentage de match, celui qui match le plus avec le liveview est sélectionné s'il dépasse le seuil (threshold) désiré (75% dans l'exemple). Dans l'exemple on a 97% match sur le deuxième objectif donc le logiciel enverra "10x" dans le fichier texte. J'aurai pu écrire directement l'échelle voulue par exemple (voir plus loin). Ensuite dans le logiciel OBS qui me sert à streamer, je peux afficher un texte sur la vidéo à partir du fichier texte.

Vous pouvez voir ce que ça donne par exemple ici sur une de mes vidéos, l'échelle est fixe mas sa valeur change selon l'objectif utilisé (500µm pour le 4x, 200µm pour le 10x, 50µm pour le 40x, et 32µm pour le 60x, l'ensemble a été mesuré avec une lame micrométrique) :


Si cela intéresse du monde je peux mettre à disposition le logiciel, soit sous forme de .exe, soit sous forme de code à compiler dans BlitzMax (d'où mon pseudo !), ainsi que faire un petit tutoriel vidéo.
Microscope Olympus CHB monoculaire
Objectifs achromatiques 4x, 10x, 40x, 60x, 100x
https://www.youtube.com/@BlitzAtao
https://www.twitch.tv/blitzatao
Avatar de l’utilisateur
Blitz
membre
membre
 
Messages: 12
Inscription: 22 Avr 2023 15:31
Prénom: Sylvain

Retourner vers Bricolages divers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité