2013-07-22 59 views
2

我想從客戶端接收圖像。C++套接字接收圖像並顯示不保存

我們可以在服務器端將圖像保存爲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"); 

但是,有沒有辦法直接收到的字符得到接收到的圖像的墊*?

謝謝!

回答

1

「但是有沒有什麼辦法直接通過收到的char * ??得到接收圖像的Mat?

是的,有。而不是保存到磁盤並重新加載,您可以使用imdecode()

+0

謝謝! 它的工作原理! – user1828449