J'ai deux programmes dans Ubuntu: un programme C++ (jeu TORCS) et un programme python. Le programme C++ génère toujours des images. Je veux transférer ces images en temps réel dans python (peut-être le format numpy.ndarray). Donc je pense que peut-être utiliser Google protobuf pour sérialiser l'image en chaîne et envoyer une chaîne au client python par ZMQ est une méthode réalisable.Sérialisation de flux d'images en utilisant protobuf
Question: quel type de valeur convient à l'image (un pointeur) dans le fichier .proto
? En d'autres termes, quel type de valeur I devrait utiliser pour remplacer le type string
dans l'exemple ci-dessous?
message my_image{
repeated string image = 1
}
C'est ma façon d'écrire l'image à la mémoire (uint8_t * image_data):
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*)image_data);
Enfin, peut-être il y a une meilleure façon de transférer l'image (dans la mémoire) à un client de python ?
Toutes les suggestions sont appréciées.
Le meilleur type serait 'bytes' pas' string' –
Merci, tapez 'bytes' fonctionne :) –
@DongLi a-t-il fonctionné en utilisant protobuf avec le client TORCS C++ et Python? Cela fonctionne-t-il bien en temps réel? Pourriez-vous peut-être partager comment vous l'avez fait? – Xxx