【opencv】VideoCapture打不开本地视频文件或者网络IP摄像头
1、前提:成功打开本地USB摄像头
// 创建VideoCapture对象 VideoCapture vc = new VideoCapture(); // 可以成功打开本地USB摄像头 // 参数可以是 0~n,结合自身情况 boolean ans = vc.open(0); // 返回结果为true System.out.println(ans);
2、当改为本地视频文件、图片文件or网络图片or网络IP摄像头地址时,打开错误!
// 创建VideoCapture对象 VideoCapture vc = new VideoCapture(); // 打开的音视频地址 String address = ""; // 测试本地视频文件 address = "D:/opencv/1.avi"; // 测试网络IP摄像头,通过rtsp来获取视频流 // 通用的rtsp地址格式为"rtsp://user:password@ip:port" // 此处使用的是科达的摄像头,后面添加的id =0为主码流,id=1为子码流 // 如果不知道你使用的摄相头格式,下载 ONVIF Device Manage 即可得到 address = "rtsp://admin:123456@192.168.XXX.XXX:554/id=0"; boolean ans = vc.open(address); // 返回结果为false System.out.println(ans);
3、解决办法:在配置opencv环境时,dll文件没有拷贝齐全!!常理情况下,你已经将opencv_java320.dll拷贝到jdk安装路径下的jre/bin目录下了,不然的话不能成功加载库。解决上面问题方法就是将你下载下来的 opencv解压后的 文件夹中bulid 文件夹下 相关的 dll 文件都拷贝到 jre/bin目录下。什么叫相关,那就是全部的dll都考进去!!保险些。至此打不开网络摄像头的问题解决!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律