在单个应用程序中,以下代码没问题
CvMat src_image_mat;
cvInitMatHeader(&src_image_mat,1,src_image_data.size(), \
CV_8U,(void *)src_image_data.c_str());
m_pSrcImage = cvDecodeImage(&src_image_mat, 0);
其中src_image_data包含给定jpeg文件中的所有字节, 在调用之后,m_pSrcImage不是NULL。
但是当这个代码在cgi程序中运行时,cvDecodeImage返回的值为NULL,src_image_data与单个应用程序中的相同。
btw:在cgi环境中,某些用户上传了图片。
答案 0 :(得分:0)
确保文件已经读入内存到大小为nSize的pData。
CvMat cm = cvMat(1, nSize, CV_8UC1, pData);
pImage = cvDecodeImage(&cm);