代码块
在socket中转化cv::mat到char*,以方便读取和发送。mark一下
double *data = new double[16];
for (int i = 0; i < 16; i++)
{
data[i] = pow(-1,i)*i;
}
cv::Mat test(4,4,CV_64FC1, data);
cv::Mat final(1,16,CV_64FC1,0);
char str[4*4];
test = test.reshape(0, 1);
string message((char*)test.data, 16*8);
memcpy(str, message.data(), 16*8);
string message1(str, 16*8);
final.data =(uchar *)message1.c_str();
final = final.reshape(0, 4);
for(int i = 0;i<4;i++){
for(int j = 0;j<4;j++){
qDebug() << *final.ptr<double>(i,j) << endl;
}
}