OpenCV4.4.0 error: (-5:Bad argument) CAP_IMAGES: can’t find starting number (in the name of file)

大家好,我是青空。

最近一直在做相机照片传输相关的事情,在传输的过程中使用了好几种方法。

  • tcp socket 交互
  • udp 传输
  • http server
  • mjpeg streamer

经过几轮测验,我们选择了 mjpeg streamer ,我们在使用 opencv 的 videocapture 进行图片接收的时候 遇到了以下问题

openCV4.4.0 error: (-5:Bad argument) CAP_IMAGES: can’t find starting number (in the name of file)

单纯看错误信息,应该是打开视频流的方式不对。

我尝试了使用 CAP_DShow , CAP_OPENCV_MJPEG, CAP_FFMPEG 这几种方式都不对。就非常怀疑是 OpenCV 有问题,还是其他的原因。

在 ubuntu 的环境下,通过 CAP_ANY 的方式可以打开,但是在 windows 环境下就跪了,表示不能理解。

转而使用 C# OpenCVSharp4 来进行测试,唉, 成功了。

这就可以确定,这是一个C++ OpenCV 中的依赖问题。 剩下的解决方式基本就是 要么自己编译opencv, 要么找出具体的依赖dll。

通过 Dependencies 软件定位依赖,但是还是没有定位到。通过确定 opencvsharp4 依赖的dll, 我似乎找到了答案。opencvsharp4, 依赖了一个ffmpeg 的dll。

结果在c++ opencv build 文件夹中也找到该文件, 把该文件放到 System32 目录下,重新尝试了一把,成功了。

问题随之解决。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值