【发布时间】:2011-09-01 17:40:28
【问题描述】:
我正在尝试将 OpenCV(2.3.1 版)包含在我正在处理的项目中。相机正在向我的程序(在 Windows 7 64 位机器上的 Microsoft Visual C++ 2008 中)发送一个图像流,该程序将其存储在一个无符号的 8 位整数缓冲区中。我想使用 OpenCV 在窗口中显示这个流。现在,我似乎无法在我的 OpenCV 窗口中显示任何图像,所以我还没有使用我的图像流;只是一个 JPEG 文件。
首先我声明我的窗口:
namedWindow( "Window", CV_WINDOW_AUTOSIZE );
然后我尝试填充它:
char* imgName = "C:\...\Jellyfish.jpg";
Mat imgMat = imread(imgName, 1);
if(imgMat.data)
{
imshow( "Window", imgMat );
}
当我的程序到达声明窗口的位置时,会出现一个灰色的小窗口。当它到达应该显示图像的位置时,窗口的尺寸会更改为图像的尺寸(我已经用不同的图像对此进行了测试),但窗口的内部仍然是一个纯灰色的框。
是什么导致了这个奇怪的错误?程序显然找到了图像,否则它无法正确更改其尺寸。
【问题讨论】:
标签: visual-c++ image-processing opencv