Auf der Clientseite erstelle ich IplImage mit openCV und sende es als Binärdaten über TCP-Socket.
IplImage *img = cvCreateImage(cvSize(480, 360), IPL_DEPTH_8U, 4);
Nachdem ich die Daten auf dem Server erhalten habe, wie liest er sie und zeigt sie an?
IplImage *img =???
cvNamedWindow("image", CV_WINDOW_AUTOSIZE);
cvShowImage("image", img);
cvWaitKey();
cvDestroyWindow("image");
Lösung des Problems
Senden Sie auch die Größe, Tiefe und nChannels des Bildes über den Socket. Sie können Ihr Bild serverseitig erstellen und memcpy() verwenden oder einfach den Zeiger Ihres img auf den Zeiger auf die empfangenen Binärdaten setzen.
Keine Kommentare:
Kommentar veröffentlichen