Beh, erano informazioni da dare subito, non pensi ...?
Con queste due funzioni dovrebbe andare la conversione nei due sensi
byte* matToBytes(Mat image)
{
int size = image.total()* image.elemSize();
byte* bytes =newbyte[size];
std::memcpy(bytes,image.data,size *sizeof(byte));
}
Mat bytesToMat(byte* bytes,int width,int height)
{
Mat image =Mat(height,width,CV_8UC3,bytes).clone();
return image;
}
ma devi pensare tu a convertire in C# la parte in ricezione. Mi sembra scontato che non potrai utilizzare il codice per il Jpeg ma dovrai utilizzare OpenCV anche lato C# dato che l'immagine è di tipo trattato da quella libreria.