Question

Je suis en mesure de générer des liaisons de python pour une bibliothèque de caméra à l'aide SWIG et je suis capable de capturer et enregistrer l'image en utilisant les fonctions de la bibliothèque encastrables. Je suis en train d'obtenir des données de l'appareil photo en image Python Format Library, la bibliothèque fournit des fonctions pour renvoyer des données de l'appareil photo comme unsigned char *. Est-ce que quelqu'un sait comment convertir unsigned char * données d'image dans un format de données que je peux utiliser en Python? Fondamentalement, je essaie de convertir unsigned char * données d'image à l'image Python Format Library.

Merci.

Était-ce utile?

La solution 2

Ok les gars, donc finalement, après une longue lutte (peut-être parce que suis un débutant en python), je l'ai résolu.

J'ai écrit une structure de données qui pourraient être compris par python et converti l'image non signé char * à cette structure. Après avoir écrit l'interface pour la structure de données personnalisée, je suis en mesure d'obtenir l'image dans l'image Python Library format d'image. Je voulais coller le code ici, mais il ne sera pas permettre à plus tha 500 caractères. Voici un lien vers mon code

http://www.optionsbender.com/technologybending/python/unsignedcharimagedatatopilimage

J'ai aussi des fichiers associé afin de pouvoir l'utiliser.

Autres conseils

Je crois que vous devriez utiliser la méthode fromstring, comme décrit ici:

Comment lire une image brute en utilisant PIL?

En outre, il y a un bon article sur la capture des données de la caméra à l'aide de python et OpenCV qui mérite d'être lu: http://www.jperla.com/blog/post/capturing-frames-from-a-webcam-on-linux

Je suppose ces unsigned chars sont les octets d'images réelles, de sorte que vous pouvez stocker ceux directement via:

with open('filename', mode='wb') as file:
    file.write(image_bytes)

(Tant que vous avez déjà un fichier nommé filename dans le répertoire de travail courant.)

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