我有一个使用OpenCV 2.4.10在visual studio中编写的应用程序。程序在调试模式下执行完美,但在发布模式下,它会在VideoCapture :: open()调用后的第一个命令崩溃,无论调用是在构造函数中完成还是使用方法调用完成。我认识到这是一个非常常见的情况,并且dll链接可能是问题,但是无法完全识别问题。非常感谢任何帮助。
以下是错误消息:
Unhandled exception at 0x03DE7D43 (opencv_ffmpeg2410.dll) in OpenCVLaserDot.exe: 0xC0000005: Access violation reading location 0x00000000.
以下是VideoCapture实例化的代码段:
const string DEFAULT_INPUT_FILE = "C:/Users/Tyler/Documents/Visual Studio 2013/Projects/OpenCVLaserDot/Release/a.avi";
VideoCapture cap;
if (inputFile == "1" || inputFile == ""){
cap.open(DEFAULT_INPUT_FILE);
} else {
cap.open(inputFile);
}
if (!cap.isOpened()){
printf("Failed to open video\n");
return -1;
}