Ich habe zwei Programme in Ubuntu: ein C++ - Programm (TORCS-Spiel) und ein Python-Programm. Das C++ Programm erzeugt immer Bilder. Ich möchte diese Echtzeitbilder in Python (vielleicht das numpy.darray Format) übertragen. Ich denke also, dass es vielleicht eine praktikable Methode ist, Google-Protoobuf zu verwenden, um das Bild zu einem String zu serialisieren und eine Zeichenfolge an den Python-Client von ZMQ zu senden.Serialisierung Bildstrom mit Protobuf
Frage: Welcher Werttyp eignet sich für das Bild (ein Zeiger) in .proto
Datei? Mit anderen Worten, welchen Werttyp sollte ich verwenden, um string
Typ im folgenden Beispiel zu ersetzen?
message my_image{
repeated string image = 1
}
Dies ist die Art, wie ich Bild-Speicher (uint8_t * image_data) schreiben:
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*)image_data);
Endlich, vielleicht gibt es eine bessere Art und Weise Bild zu übertragen (im Speicher) zu einem Python-Client ?
Alle Vorschläge sind willkommen.
Der bessere Typ wäre 'Bytes' nicht' string' –
Danke, Typ 'Bytes' funktioniert :) –
@DongLi hat es funktioniert mit Protobuf mit TORCS C++ - Client und Python? Funktioniert es gut in Echtzeit? Könnten Sie vielleicht erzählen, wie Sie es gemacht haben? – Xxx