2013-07-22 3 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

"수신 한 이미지의 매트를 수신 된 문자 *로 직접 가져올 수있는 방법이 있습니까?"

예, 있습니다. 디스크에 저장하고 다시로드하는 대신 imdecode()

+0

감사합니다. 그것은 작동합니다! – user1828449

관련 문제