Giter Site home page Giter Site logo

binary-finger-counting-mediapipe's Introduction

Binary Finger Counting

Auteur

Visuel

Rendu de l'algorithme

Description

Programme personnel développé en Python afin de découvrir la bibliothèque Mediapipe.

Le programme compte simplement le nombre de doigts levés de votre main droite en binaire ou en décimal.

Informations supplémentaires

A l'heure actuelle, le programme ne donne le bon résultat qu'avec la main droite. En effet, la vérification de fermeture du pouce consiste à vérifier des positions horizontales entre l'extrémité du pouce et le milieu du pouce. Cela fait qu'il considèrera un pouce gauche fermé lorsqu'il est ouvert, et réciproquement.

En outre, le calcul en binaire doit se faire avec la main face camera, et non de dos comme on le fait généralement lorsque l'on apprend à compter en binaire. Ce choix d'implémentation était plus facile pour moi. De plus, j'ai décidé de ne pas inverser la valeur des doigts mais de conserver les valeurs que l'on connaît (pouce = 1, auriculaire = 16) pour ne pas "tromper" quelqu'un qui apprendrait à compter ainsi.

A l'avenir, j'implémenterai certainement le calcul sur deux mains.

Position des doigts

Le moment le plus important est celui-ci :

def fingers_raised(fingers):
    return [fingers[4][1] < fingers[3][1], #true if thumb is open
            fingers[8][2] < fingers[6][2], #true if index is open
            fingers[12][2] < fingers[10][2], #true if middle finger is open
            fingers[16][2] < fingers[14][2], #true if ring finger is open
            fingers[20][2] < fingers[18][2] #true if little finger is open
            ]

Ce code réside sur le schéma suivant :

Description d'une main

Analysons-le ensemble :

  • tout d'abord, le pouce est un cas particulier, qui se ferme horizontalement. C'est la raison pour laquelle on cherche à comparer la composante horizontale du bout du pouce par rapport au milieu du doigt.
  • Pour les autres doigts, on cherche à vérifier que le milieu du doigt est au-dessus de son extrémité.

Calcul en binaire

Le calcul en binaire est tout simplement 2 ** int(le doigt i est levé)

Comment tester ?

Récupération des sources

  • Depuis l'invité de commandes (HTTP):
$ git clone https://github.com/jeunotca/binary-finger-counting-mediapipe.git
$ cd binary-finger-counting-mediapipe

Dépendances

Ce programme a été réalisé à l'aide de :

Vous pouvez installer les dépendances avec :

pip install -r requirements.txt

Exécution

python main.py

Appuyer sur ESC pour quitter, et sur SPACE pour changer de mode de calcul :)

binary-finger-counting-mediapipe's People

Contributors

alexandrejeunotcaire avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.