我正在开发一个visual studio项目(CLI app),它使用opencv的视频捕获类对捕获的帧进行一些图像处理。
该项目在我的Windows 7计算机上运行正常,但是当我尝试在Windows 10上部署它时程序崩溃并且以下内容被抛出到输出:
0x0B37A1C9 (0x0E5C9020 0x0E94E880 0x0E65F020 0x00000500), DllGetClassObject() + 0x4D8B9 bytes(s)
0x0B2D2299 (0x00000280 0x0E94E880 0x00000018 0x00000500)
0x0B30C409 (0x0EA30000 0x00000280 0xFFFFFE20 0x00000500)
关于它来自哪里的任何想法?我甚至不确定opencv是否导致它......
这是处理捕获帧的代码(来自循环内部):
cv::Mat mIn;
int camW = 640;
int camH = 480;
int w, h, nc, nI;
size_t nbytesI, numberOfValues, sizeOfBuffers, sizeOfBuffersO;
float *h_in;
cv::VideoCapture camera;
while (!g_quit)
{
reload_parameters(&demo, &oclobjects);
g_paramsChanged = false;
if (g_camera)
{
if (!g_cameraOpen)
{
camera.open(0); // open the default camera
if (!camera.isOpened()) // check if we succeeded
{
cerr << "Couldn't open camera" << endl;
return -1;
}
camera.set(CV_CAP_PROP_FRAME_WIDTH, camW);
camera.set(CV_CAP_PROP_FRAME_HEIGHT, camH);
g_cameraOpen = true;
}
// read in first frame to get the dimensions
while (true)
{
camera >> mIn;
if (!mIn.empty()) break;
}
}
...
我正在使用opencv 3.0.0和visual studio 2013.
我也很高兴只是指示这个输出意味着什么。