c++ - OpenCV 如何将 jpeg 图像缓冲区放入 cvShowImage

标签 c++ opencv

我在缓冲区中有一个 JPG 图像,我会尝试用 cvShowImage 显示它。但是,这不起作用:

// buff is a JPEG image with 640*480 dimensions

IplImage* fIplImageHeader;
fIplImageHeader = cvCreateImageHeader(cvSize(640, 480), 8, 1);
fIplImageHeader->imageData = (char *)buff;

cvShowImage("Window 1", fIplImageHeader);
cvWaitKey();

cvReleaseImageHeader(&fIplImageHeader);

我得到一个黑色的窗口。

最佳答案

看起来你忘了设置 widthStep

  |-- int  widthStep;     // size of aligned image row in bytes
  |-- int  imageSize;     // image data size in bytes = height*widthStep

关于c++ - OpenCV 如何将 jpeg 图像缓冲区放入 cvShowImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4261292/

相关文章:

python - 修正后的图像 : interpolate missing points

c# - 使用 OpenCV(C#、emgu cv)检测屏幕上的输入文本字段

c++ - C++ 中读取大型 CSV 文件的性能问题

c++ - mac 地址的输出格式(C++,stringstream)

c++ - matlab函数fzero的C/C++实现

c++ - OpenCV版本显示错误

c++ - 如何将元素定义为与随机访问迭代器指向的元素类型相同?

c++ - 在循环中使用自动错误 "auto must have an initializer"

c++ - 加载关键点和绘图

opencv - 用 FFMPEG 将视频与标量相乘