0

在单个应用程序中,下面的代码是可以的

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与单个应用程序中的相同。

顺便说一句:在 cgi 上下文中,图片是由一些用户上传的。

4

1 回答 1

0

确保文件已被读入内存为大小为 nSize 的 pData。

    CvMat cm = cvMat(1, nSize, CV_8UC1, pData);
    pImage = cvDecodeImage(&cm);
于 2012-08-18T07:41:26.483 回答