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 には、m_pSrcImage を呼び出した後、特定の jpeg ファイル内のすべてのバイトが含まれますが、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 に答える