Le SDK flyCapture est un SDK Point Gray pour les caméras CCD. Il prend officiellement en charge Windows et Linux, et semble prendre en charge C / C ++ / C # comme langage. Cette fois, je ne voulais pas utiliser C ++ à cause de mes goûts personnels, j'ai donc voulu créer un environnement dans un langage autre que C ++. Si j'écris le résultat en premier, C # a lutté pendant environ une heure et a abandonné. python a pu s'exécuter sur ubuntu en utilisant une bibliothèque non officielle. Ce qui suit est un mémorandum de construction de l'environnement.
Cette fois, la caméra est connectée à l'ordinateur Windows. Quant à ubuntu, je l'ai préparé sur VMWare car je ne pouvais pas utiliser un autre PC à cause de la carte IEEE1394. ** Cependant, VMWare ne peut pas gérer les caméras connectées IEEE1394. ** J'ai donc finalement utilisé la caméra Flea3 (dans ce cas, j'aurais dû utiliser un autre PC ubuntu, mais en conséquence, ubuntu sur VMWare pourrait également le gérer).
Voici la méthode qui a échoué. Je vous serais reconnaissant si vous pouviez commenter.
Il devrait être officiellement pris en charge par le SDK, j'ai donc pensé que ce serait facile à gérer, mais cela n'a pas fonctionné.
L'installation elle-même supprime .exe et l'installe. Le problème est que je ne savais pas quelle DLL ajouter à la référence pour fonctionner.
Quand j'ai ajouté FlyCapture2Managed_v140.dll
, j'ai pu créer l'exemple de code lui-même, mais lorsque je l'ai exécuté, j'ai eu une erreur ??? comme "La dll dépendante ne peut pas être chargée". J'ai essayé de l'ajouter au PATH et de l'ajouter à la référence, mais j'ai abandonné. Je ne trouve pas beaucoup de documentation même si je la vérifie avec "Fly Capture C #". Pouvez-vous l'écrire en C ++ docilement? ??
** Cependant, C # devrait définitivement fonctionner. Parce qu'il devrait être officiellement soutenu.
S'il vous plaît, faites-moi savoir ... **
python on Windows
À mon tour, après avoir réussi dans ubuntu, j'ai essayé de l'exécuter sous Windows. À ce moment-là, c'était un fait que je pensais "Eh bien, puis-je bouger avec ubuntu?" ()
Premièrement, le SDK ne prend pas officiellement en charge python. J'ai décidé d'utiliser la bibliothèque de wrapper non officielle publiée là-bas. Il existe plusieurs bibliothèques (décrites plus loin), mais celle qui semblait fonctionner sous Windows était pyFly2 ''. La raison en est qu'il existe une description pour les fenêtres dans
setup.py ''.
Je l'ai donc présenté selon README, mais je me suis retrouvé pris dans l'erreur `ʻerror: Unable to find vcvarsall.bat. Il s'agit d'une erreur qui se produit dans une bibliothèque qui doit être compilée, quel que soit flyCapture. J'ai donc mis
VC ++ 9.0et essayé diverses choses, mais j'ai abandonné l'erreur
ValueError: [u’path '] ``. Ce problème se posera souvent si vous le recherchez, il semble donc que vous puissiez le résoudre si vous faites de votre mieux, mais c'est une perte de temps de passer du temps ici car c'est un autre pas en avant de savoir si la bibliothèque fonctionne même si elle peut être compilée (dites-vous) J'ai fait).
C'est la méthode que j'ai adoptée. Introduction d'une bibliothèque de wrapper pour python sur ubuntu. Je viens d'exécuter / lire l'exemple, mais il semble facile à gérer.
Dès que vous google avec "python flyCapture", vous trouverez les deux bibliothèques suivantes.
J'ai d'abord essayé pyflycapture2, mais où transférer les paramètres de la caméra dans l'exemple de code? J'ai une erreur. Je n'étais pas sûr, mais pyfly2 fonctionnait bien, j'ai donc décidé de l'utiliser pour le moment.
En gros, c'est facile si vous suivez la Procédure d'installation. Les points à noter sont les suivants.
For specific details about using FlyCapture and Linux with a USB 3.0 camera, see TAN2012007 Using Linux with USB 3.0.
Il dit de changer la taille de la mémoire tampon USB de 2 Mo à 1000 Mo, mais si vous essayez de capturer avec un paramètre qui dépasse une certaine résolution (taille des données de transfert) sans faire cela, le programme se terminera anormalement. J'ai lutté sans m'en apercevoir (même si c'était écrit au tout début de la page ...) Il n'y a probablement pas de problème avec une caméra IEEE1394 (mais je ne l'ai pas essayé en raison des circonstances ci-dessus)
Si vous pouvez capturer correctement avec `` $ flycap '', vous avez réussi. Au fait, j'ai pu capturer correctement même avec un périphérique USB monté (?) Avec VMWare.
L'introduction dans ubuntu fonctionnait si je le clonais avec git et suivais README.
Au fait, il semble que le chemin du SDK décrit dans setup.py
n'a pas besoin d'être modifié s'il est inséré normalement. De plus, la copie de la DLL avait-elle du sens? Il semble que cela fonctionnait sans le faire ...?
J'ai lu un petit échantillon de pyfly2, mais j'ai l'impression de vouloir «exemple_opencv_intégration.py» dans Don Pisha. Si vous pouvez l'obtenir avec numpy, vous pouvez faire autre chose. Un autre problème est de savoir comment modifier les paramètres et synchroniser. Je suis curieux de savoir combien pyfly2 enveloppe l'API (enveloppant toute l'API C ??) ...
Il était possible de définir des paramètres tels que le gain, mais il y a un problème avec le réglage de la résolution (et probablement de la fréquence d'images). Il est spécifié par le type enum, mais la résolution maximale est _1600x1200Y16 ''. J'utilise actuellement un appareil photo de la série flea3 avec une résolution maximale de
2000x2000 '' ou plus, donc je ne peux pas le spécifier. J'aimerais qu'il y ait une méthode qui pourrait être spécifiée directement sous forme de nombre ...
Peut-être que la version du SDK au moment du développement du wrapper est ancienne, donc je sens que je peux la gérer si je la change un peu, mais j'ai l'énergie de faire de mon mieux ... Eh bien, je pense qu'il n'y a pas beaucoup de situations où il est nécessaire de changer dynamiquement la résolution. Je me demande si je devrais le changer à partir de l'exemple d'application officiel.
Recommended Posts