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 目录下,重新尝试了一把,成功了。

问题随之解决。

你可能感兴趣的:(OpenCV,101,计算机视觉,opencv,人工智能,计算机视觉)