我已经看过“为什么我不能在opencv中打开avi?”这个问题。已经。但是那里提到的解决方案无法解决我的问题,因为在opencv for java中根本没有“opencv_ffmpeg * .dll”。即使我将“opencv_ffmpeg * .dll”复制到包含opencv for java的文件夹中,或者将包含“opencv_ffmpeg * .dll”的bin文件夹的路径添加到环境变量“PATH”中,问题仍然困扰着我。
出错的代码如下:
VideoCapture capture;
try{
capture = new VideoCapture("1.avi");
} catch (Exception e){
System.out.println("video not exist!");
return;
}
if (!capture.isOpened()){
System.out.println("fail to open the video!");
return;
}
我总是得到“无法打开视频!”提示。 1.avi正确放置。即使我使用绝对路径,问题仍然存在。
有谁知道如何解决这个问题?
答案 0 :(得分:0)
正如您发现的问题是 ffmpeg.dll 。面临同样的问题,最后它变成了一个未设置的环境变量。 首先仔细检查您的OpenCV版本。转到环境变量窗口并将“ openCV_installation_folder / build / x86_or_x64 / vc12 / bi n”添加到“路径”变量中。确保根据您使用的OpenCV和JVM版本(32位或64位)设置正确的路径。如果您运行 Eclipse ,则重新启动它。我希望这能帮助你和你将遇到类似问题的每个人。 祝你好运。
答案 1 :(得分:0)
使用capture.open(“sample.avi”)而不是传递给视频捕捉的构造函数,如果您使用的是上面的opencv3.0