c++从网络读取一幅图片文件,存入Unsigned char数组,如何将该数组load进opencv的Mat结构中?
c++从网络中读取一幅图像文件的代码如下:
LPSTR GetInterNetURLText(LPSTR lpcInterNetURL, char* buff)
{
HINTERNET hSession;
LPSTR lpResult = NULL;
hSession = InternetOpen("WinInet", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
__try
{
if(hSession != NULL)
{
HINTERNET hRequest;
hRequest = InternetOpenUrlA(hSession,lpcInterNetURL, NULL,0, INTERNET_FLAG_RELOAD, 0);
__try
{
if(hRequest != NULL)
{
DWORD dwBytesRead;
char szBuffer[BUF_SIZE] = {0};
if(InternetReadFile(hRequest, szBuffer, BUF_SIZE, &dwBytesRead))
{
RtlMoveMemory(buff, szBuffer, BUF_SIZE);
return 0;
}
}
}__finally
{
InternetCloseHandle(hRequest);
}
}
}__finally
{
InternetCloseHandle(hSession);
}
return lpResult;
}
数组buff是得到的一幅图像文件数据,然后我需要将该数组的数据转化为opencv中Mat存储图像数据的类型。
如何能做到?谢谢!