OpenCV error: (-215:Assertion failed) number < max_number in function ‘cv::icvExtractPattern‘ 解决方法

使用opencv4.7.0的VideoCapture时遇到问题

[ERROR:0@0.286] global cap.cpp:166 cv::VideoCapture::open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.7.0) D:\gitlabrunner\builds\9mBtm_2r\0\3rdparty\opencv-build\opencv\modules\videoio\src\cap_images.cpp:267: error: (-215:Assertion failed) number < max_number in function 'cv::icvExtractPattern'

 运行debug模式打印信息

[ INFO:0@0.060] global videoio_registry.cpp:232 cv::`anonymous-namespace'::VideoBackendRegistry::VideoBackendRegistry VIDEOIO: Enabled backends(9, sorted by priority): FFMPEG(1000); GSTREAMER(990); INTEL_MFX(980); MSMF(970); DSHOW(960); CV_IMAGES(950); CV_MJPEG(940); UEYE(930); OBSENSOR(920)
[ INFO:0@0.061] global backend_plugin.cpp:383 cv::impl::getPluginCandidates Found 3 plugin(s) for FFMPEG
[ INFO:0@0.061] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load G:\project\featurebooster_cpp\build\Debug\opencv_videoio_ffmpeg470_64d.dll => FAILED
[ INFO:0@0.062] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_videoio_ffmpeg470_64d.dll => FAILED
[ INFO:0@0.062] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_videoio_ffmpeg470_64.dll => FAILED
[ INFO:0@0.063] global backend_plugin.cpp:383 cv::impl::getPluginCandidates Found 2 plugin(s) for GSTREAMER
[ INFO:0@0.063] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load G:\project\featurebooster_cpp\build\Debug\opencv_videoio_gstreamer470_64d.dll => FAILED
[ INFO:0@0.063] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_videoio_gstreamer470_64d.dll => FAILED
[ INFO:0@0.063] global backend_plugin.cpp:383 cv::impl::getPluginCandidates Found 2 plugin(s) for INTEL_MFX
[ INFO:0@0.063] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load G:\project\featurebooster_cpp\build\Debug\opencv_videoio_intel_mfx470_64d.dll => FAILED
[ INFO:0@0.064] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_videoio_intel_mfx470_64d.dll => FAILED
[ INFO:0@0.128] global cap_msmf.cpp:1027 CvCapture_MSMF::configureHW MSMF: Using D3D11 video acceleration on GPU device: Intel(R) UHD Graphics 770
OpenCV(4.7.0) Error: Assertion failed (number < max_number) in cv::icvExtractPattern, file D:\gitlabrunner\builds\9mBtm_2r\0\3rdparty\opencv-build\opencv\modules\videoio\src\cap_images.cpp, line 267
[ERROR:0@0.353] global cap.cpp:166 cv::VideoCapture::open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.7.0) D:\gitlabrunner\builds\9mBtm_2r\0\3rdparty\opencv-build\opencv\modules\videoio\src\cap_images.cpp:267: error: (-215:Assertion failed) number < max_number in function 'cv::icvExtractPattern'

错误信息红色加粗,发现是运行时load视频编解码用的ddl失败。尝试把需要的opencv_videoio_ffmpeg470_64d.dll放到build/debug文件夹(可执行.exe同路径)下即可。ddl可在opencv库中的bin文件夹找到,如果没有opencv_videoio_ffmpeg470_64d.dll,可使用opencv_videoio_ffmpeg470_64.dll。

具体步骤:

把opencv_videoio_ffmpeg470_64.dll拷贝到需要运行的exe的同文件。

VideoWriter等其他视频编解码接口遇到相同问题解决方法相同。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值