iplimage über Socket schicken.
Verfasst: 6. Mai 2015 08:36
Hallo zusammen!
ich bin dabei eine Client-Server Anwendung zu programmieren, es funktioniert leider die Videoübertragung nicht einwandfrei.
ich bekomme zwischendurch vertikale Streifen im Anzeigefenster,
Client(ist Raspberry Pi)
Server(Windows Rechner)
ich bin für jeden Tipp dankbar.
Danke im Voraus.
ich bin dabei eine Client-Server Anwendung zu programmieren, es funktioniert leider die Videoübertragung nicht einwandfrei.
ich bekomme zwischendurch vertikale Streifen im Anzeigefenster,
Client(ist Raspberry Pi)
Code: Alles auswählen
cv::Mat image1;
void C_Kamera::_senden_Video()
{
if(!TpSocket)
return;
int maxPendingImages = 25;
if(imagesInQue > maxPendingImages)
{
return;
}
if (image1.empty())
{
std::cout << "frame noch nicht da" << std::endl;
}else
{
IplImage* img = new IplImage(image1.clone());
//Daten schicken
quint64 written = TpSocket->write(img->imageData, img->imageSize);
Q_UNUSED (written);
}
}
Server(Windows Rechner)
Code: Alles auswählen
if (TpSocket->bytesAvailable() < k_blockSize)
{
return;
}
IplBild = cvCreateImageHeader(cvSize(breite,hoehe), farbtiefe,anzkanal);
char* Bilddaten = (char*) malloc(k_blockSize);
TpSocket->read(Bilddaten, k_blockSize);
cvSetData(IplBild,Bilddaten,breite*anzkanal);
_frame_anzeige(IplBild);
cvReleaseImageHeader(&IplBild);
free(Bilddaten);
ich bin für jeden Tipp dankbar.
Danke im Voraus.