如上所述,当我尝试从相机获取帧时,我得到一个0xC0000005读取访问冲突错误,该错误是由VSFilter.dll实现的。我尝试过在线和OpenCV文档中找到的不同示例代码,但我仍然得到错误。例如,这是我现在使用的代码:
#include <opencv/cv.h>
#include <opencv/highgui.h>
using namespace cv;
int main(int, char**)
{
VideoCapture cap(0);
if(!cap.isOpened()) return -1;
Mat frame;
namedWindow("Camera",1);
while(1)
{
cap >> frame;
imshow("Camera", frame);
if(waitKey(30) >= 0) break;
}
return 0;
}
在输出中有两个错误(第一次机会执行和未处理的执行,对意大利人抱歉):
Eccezione first-chance in 0x000007FEEB115791 (VSFilter.dll) in OpenCV.exe: 0xC0000005: violazione di accesso durante la scrittura del percorso 0x000000000468E000.
Eccezione non gestita in 0x000007FEEB115791 (VSFilter.dll) in OpenCV.exe: 0xC0000005: violazione di accesso durante la scrittura del percorso 0x000000000468E000.
所以代码很简单,应该不是问题,我想知道为什么错误与VSFilter.dll(DirectShow / VirtualDub / Avisynth的VobSub&amp; TextSub过滤器)有关?
我正在使用OpenCV 2.4.5和VisulaStudio 2012。
我已经下载了VSFilter.dll并替换了Windows / system32 /中的原始版本,现在一切正常!
答案 0 :(得分:1)
任何机会,你最终进入了地狱&#34; ?
喜欢: