我正在尝试用OpenCV Java加载一个视频文件,并将我的问题缩小到以下代码:
import org.opencv.core.Core;
import org.opencv.videoio.VideoCapture;
public class OpenCVTest {
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.loadLibrary("opencv_videoio_ffmpeg455_64");
VideoCapture capture = new VideoCapture("myVideoFile.avi");
System.out.println(capture.isOpened());
}
}
当然,这总是打印出“假”。用new VideoCapture(0)
访问我电脑的摄像头很好。在浏览完互联网后,我完全搞不懂为什么加载视频不起作用。我遵循指南,建议我需要在我的path变量中添加"opencv_videoio_ffmpeg455_64.dll“并调用System.loadLibrary
。我是新手,老实说,我不明白loadLibrary
做什么,或者我的设置和代码有什么问题。有什么想法吗?提前谢谢。
发布于 2022-04-10 15:55:06
以下是来自similar problem的答案
从opencv\ System.loadLibrary("opencv_ffmpeg300_64");
请注意,64和.dll可能因操作系统而异,它们适用于Windows x64
发布于 2022-05-01 15:09:56
结果,我使用了错误的文件路径。我(错误地)假设new VideoCapture("my file")
会在已编译的.class文件所在的目录中搜索"my“,而实际上它在项目根目录中搜索。没有必要调用System.loadLibrary("opencv_videoio_ffmpeg455_64");
https://stackoverflow.com/questions/71812108
复制相似问题