Salut,

Je viens vers vous car un ami ma proposer un pti projet à faire pour lui et je me demande si avec Node.js cela ne vaudrai pas la coup :)

En faite il souhaite avoir un logiciel qui enregistre ces différents tire sur une cible à l'aide d'une camera wifi. Il possède déja la caméra et un logiciel mais il m'affirme qu'il aimerais d'autre option que le logiciel ne fait pas et ma proposer de lui en fair un.

J'ai penser à Node.js car il me permettra facilement de le rendre compatible avec tablette et teléphone et surtous car je connais beaucoup plus le javascript que le c/c++.

J'aimerais donc avoir votre avis dessus. J'ai penser récupérer la transmission de l'image avec Node et ensuite checker le changement de pixel sur l'image (trou de la balle) pour ensuite la sauvegarder dans un fichier et/ou dans une ptite base de donnée je sais pas encor.

du coup je me demande est-ce un bon choix? car pour regarder chaque pixel a chaque foix cela ne serait-il pas gourmant en puissance?

le petit logiciel doit faire ceci :

  • récupérer la transmission wifi de la caméra
  • Enregistrer Les différents tires
  • Possibilitée d'afficher les tires un-à-un pour voir la progression
  • Faire des statistique des tires réussi, loupé etc...
  • Pouvoir se connecter avec Pc, tablette et téléphone

Je pense que cela est tout à fait possible avec Node.js mais je n'est pas l'expérience avec donc si vous avez des recommmandation ou des piste à m'aurienter je vous remercie d'avance :D

5 réponses


Salut ksta,
Je vais t'épargner la phase ou je t'énonce les langages serveurs et clients et vais aller droit au but. Tout d'abord je pense que ton sujet manque de précision même si au final on se doute de ce que tu veux faire, je te répondrai donc en supposant que ton ami tire sur un certain support et que l'image de celui-ci est capturé par ta fameuse caméra, donc tu récupère une image, tu la traite, tu sauvegarde et ensuite tu feras probablement des stats.

  • JAVA, Python ou encore PHP font l'affaire,mais si tu connais le javascript, essaie toi à NodeJS sans aucun doute.
    -Récupérer la transmission de la caméra ne devrait pas être un probleme.
    -Le traitement de l'image risque d'être le plus lourd si tu ne connais pas les rudiments de la reconnaissance de forme, dans la mesure où tu veux lui donner un "sens" (exemples: "il y a 3 impacts sur ce cette image").

    Quand tu auras saisi comment se caractérise une image en terme d'information, tu aura une vague idée sur la manière d'y reconnaitre une forme. Le traitement d'image n'est rien d'autre que la manipulation d'un tableau hauteur* largeur, dont chaque case est lui meme un tableau de 3 entier RGB, dont la valeur varie entre 0 et 255 (dans la plupart des cas, et pour l'instant).
    Dans un premier temps je te conseillerai de réduire ton projet à un programme simple qui prend une image similaire à celles qu'utiliseras ton projet et de la convertir en un objet qui la représente
    -nombre d'impacts
    -valeurs des impacts
    -ordre des impacts

Je pense que c'est une bonne idée, avec npm tu auras un bon nombre de librairies pour t'aider, et ça tournera partout ^^

ksta
Auteur

@JeanSaigne : Désoler si j'ai pas été plus précis c'était surtous pour ne pas faire un roman mais tu à bien compris le sens en effet.
Pour le traitement de l'image en effet comme c'est un tableau j'avais penser à faire un Octree + la reconnaissance de forme mais j'ai jamais fait la reconnaissance de forme donc je vais voir ceci en premier.

En effet il y à pas mal de langages mais comme tu la signaler j'ai plus d'expérience en effet avec javascript donc j'ai choisie NodeJs :D par contre n'ayant aucune expérience ave NodeJs je me demandais si vérifier autant de fois l'image planterais pas le petit programme?

La situation réel est la suivante :

préparation du matériels et tire

  • il positionne la cible à x mètres
  • il positionne la caméra wifi pour avoir la cible dans le champs de vision
  • il tire autant de fois qu'il le souhaite

le logiciel en action :

  • le logiciel récupère l'image de la caméra wifi toutes les 0.5 sec (car le temps qu'il tire je pense pas qu'il le fasse en moin que sa :D )
  • une fois l'image récupérer le logiciel parcour l'image en octree pour diviser l'image et gagner du temps de traitement
  • pendant le parcour il regarde dans chaque zone de l'octree une nouvelle forme(les tires) si il y en a
  • le logiciel enregistre les tires
  • le logiciel affiche la cible avec les impactes trouver sur ordinateurs portable et/ou autres device mobile.

ceci est l'utilisation de base mais je me demande si en puissance de traitement cela n'est pas énorme? après je l'est pas encor fait mais si des personnes on de l'expérience avec le même sujet (traitement d'image instantanée en 1/2 sec) je suis intéresser pour ne pas partir sur de mauvaise base et essayer d'être le plus optimal possible et en apprendre d'avantage sur la réflexion.

@grafikart: En effet c'est surtous le "ça tournera partout" qui est plus qu'intéressant :D et avec tes tutos j'ai appris une bonne base dessus donc plus cas faire de l'expérience avec :)

merci pour votre aide

Edite: J'ai trouver une lib nodeJs intéressante pour la reconnaissance de forme : openCV si quelqu'un à des retour sur cette lib je suis preneur :D

mmh ça va dépendre du hardware mais le traitement d'image ce n'est jamais rapide ^^. A moins d'essayer dur de savoir ^^

ksta
Auteur

C'est vrai :D je vais essayer une première version et je viendrai donner mon impression et poser des question sur d'éventuel soucie :D