Question

Je suis en train de faire un écran tactile bricolage et voudrais entrer dans la foire scientifique locale mais je voulais le faire sur l'aspect de la programmation multi-touch. Mon problème réside dans le fait que je ne l'ai jamais travaillé avec l'analyse des images (à partir d'une webcam USB à base).
Je voudrais faire ce projet en C # si possible (C ++ - si le pire arrive au pire)
Je dois analyser une image noir (à partir d'une-web cam USB) et détecter des taches blanches viennent en vue. Comment dois-je prendre? --- est-il un procédé connu pour la détection de la variation vs analyser chaque pxl? le cas échéant un pointeur à l'endroit où cela est serait bien :)
également comment pourrais-je obtenir l'entrée du Web-Cam via USB? --- où puis-je obtenir de la bibliothèques de / de ddl?
J'ai vu certains programmes qui fonctionnent avec cela, mais ils convertissent les images - ce qui prend du temps et la vitesse du processeur ... est-il un moyen d'utiliser l'image imput premières / données?
AIDE?

Était-ce utile?

La solution

Une fois que vous avez votre entrée, vous aurez (en supposant qu'il est parfaitement sombre et parfaitement contraste lumineux) vous aurez une matrice de valeurs similaires à celle-ci: (échelle de gris)

0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 256 0 0 0 0 0
0 0 0 0 0 256 256 256 0 0 0 0
0 0 0 0 0 0 256 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 

Votre travail devrait être de segmenter la section des valeurs de couleur à droite (256) et pour déterminer la position. Pour obtenir le mouvement [en supposant que vous suivez seulement 1 objet] vous devez comparer la position suivante du blob avec le précédent.

Dans le RealWorld, en particulier avec une webcam, vous ne serez jamais un fond sombre solide avec un bon contraste. La webcam est basse résolution, la lumière est jamais parfait, et le bruit est ajouté dans les défauts de Lense et CCD / approximation des couleurs.

En outre, vous pouvez rencontrer des problèmes avec le suivi du mouvement de blobs (un blob peut être misdectected ailleurs sur la surface. Lorsque vous essayez de suivre deux blobs vous courrez dans plus de problèmes.

Certaines de ces questions sont:

  1. collision Blob (comment savez-vous qui va où blob)
  2. blob croisés, (blobs ne changent de côté, ou ne les gouttes se déplacent dans une direction inverse de Voyage précédent)
  3. Blob combinant (où deux blobs devenir)

Pour saisir l'appareil photo en utilisant C # vous voudrez peut-être pour vérifier cela. WIA n'est pas la méthode la plus rapide à utiliser pour prendre des photos. Cependant, il est beaucoup plus facile à traiter. Ma suggestion pour vous si vous êtes toujours intéressé à faire est de dessiner deux images dans Photoshop et suivre les marqueurs. Ce ne est pas aussi excitant, mais il vous aidera à résoudre le problème plus facile et se détendre la description du problème.

Autres conseils

Qu'est-ce que vous voulez est "blob-détection". Voici un bon fil d'un bibliothèque blob

Il y a un tas de bibliothèques de vision multi-touch / ordinateur et des logiciels déjà là-bas. La meilleure ressource pour cette chose genre est wiki.nuigroup.com . En particulier, les et la section des bibliothèques. À l'heure actuelle il n'y a pas beaucoup d'information C #, mais si vous trouvez quelque chose, assurez-vous que vous mettez sur ce wiki pour tout le monde.

Il y a aussi la forum NuiGroup C # (.NET / Silverlight / WPF) section qui devrait vous aider beaucoup. Il y a quelques aide à donner dans cette communauté.

En tant que point de départ d'esprit de la web cam, je commencerais ici:

http://www.hanselman.com/blog/CapturingVideoAWebCameraUsingWIANotPossible.aspx

Vous aurez quelques liens à suivre, mais je vous suggère de commencer ici parce que c'est l'article où Scott parle de différents défis et questions courantes et fournit des liens vers plus d'informations.

Pour obtenir des images de la webcam Aforge cadre est mort facile à utiliser! Consultez l'exemple d'application de détection de mouvement à des fins de récolte de code:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top