4
バッファjpegBufferにjpegイメージがあります。私はCV :: imdecode関数に渡ししようとしている:イメージファイルの内容がchar配列の場合、cv :: imdecodeの使い方は?
FILE* pFile;
long lSize;
char * jpegBuffer;
pFile = fopen ("img.jpg", "rb");
if (pFile == NULL)
{
exit (1);
}
// obtain file size.
fseek (pFile , 0 , SEEK_END);
lSize = ftell (pFile);
rewind (pFile);
// allocate memory to contain the whole file.
jpegBuffer = (char*) malloc (lSize);
if (jpegBuffer == NULL)
{
exit (2);
}
// copy the file into the buffer.
fread (jpegBuffer, 1, lSize, pFile);
// terminate
fclose (pFile);
ありがとうございました。しかし、もし私がメモリ上のバッファ(例えばchar * jpegBuffer)の中にイメージを持っていて、それがディスク上にファイルとして保存されていなければどうでしょうか?それでは、バッファをimdecodeにどのように送るでしょうか?上記のコードはちょっとしたテストですが、後でwifi接続からjpgイメージをファイルに保存せずにバッファに読み込むだけです。 –
一般的にchar *バッファは避けてください。通常、これは可能です.WIFI接続から画像を読み込んだときにchar *バッファではなくstd :: vectorに読み込みます。 – ronag