Je souhaite broadcaster une matrice OpenCv 2.0 via un QUdpSocket mais je n'arrive pas a mes fins.

Voila ce que je fais dans mon programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
...
udpSocket = new QUdpSocket(this);
...
connect(timer, SIGNAL(timeout()), this, SLOT(broadcastDatagram()));
...
 
void Sender::broadcastDatagram()
{
    udpSocket->writeDatagram((char*)frame.data,
                             frame.size().width*frame.size().height,
                             QHostAddress::Broadcast, 31000);
}
...
Si je remplace ma fonction Sender::broadcastDatagram par celle donné sur les tutos QT tout fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void Sender::broadcastDatagram()
{
    QByteArray datagram = "Broadcast message " + QByteArray::number(messageNo);
     udpSocket->writeDatagram(datagram.data(),datagram.size(),
                              QHostAddress::Broadcast, 31000);
}
Est-ce que quelqu'un à une idée en sachant que :
  • frame.data est un uchar*
  • frame.size().width et frame.size().height sont des int correspondant aux tailles de ma matrice


Merci d'avance