2

我想从客户那里收到一张图片。

当我们将图像保存为 JPG 文件时,我们可以在服务器端显示图像。

像这样...

    char *buff = (char*)malloc(sizeof(char) * (240*360));    
    FILE *output;    
    output = fopen("test.jpg", "wb");    
    unsigned int readBytes = 0;    
    while(true)    
    {    
        int ret = recv(sClient, buff+readBytes, (240*360)-readBytes, 0);    
        if (ret <= 0)    
        {    
            break;    
        }    
                readBytes += ret;    
    }    
    fwrite(buff, sizeof(char), readBytes, output);    
    fclose( output );    

    Mat img_2 = imread( "test.jpg");

但是有什么方法可以直接通过接收到的 char* 获取接收到的图像的 Mat 吗?

谢谢!

4

1 回答 1

1

“但是有什么办法可以直接通过received char* 获取received image 的Mat 吗??”

就在这里。您可以使用imdecode()而不是保存到磁盘并重新加载

于 2013-07-22T07:05:26.793 回答