我有一个小项目,应该阅读VideosStream从rtsp相机做一些其他的任务。我可以运行它的原始hc_yolo_all.py文件,没有任何问题。但是,在使用pyinstaller --onefile hc_yolo_all.py生成可执行文件后,它无法派生VideoStream并给出错误
Traceback (most recent call last):
File "hc_yolo_all.py", line 60, in <module>
cv2.error: OpenCV(3.4.3) C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'
[7340] Failed to execute script hc_yolo_all. 可以看到,frame = cv2.resize(frame, (416,416)) ( hc_yolo_all.py的第60行)正在接收一个空帧,因此输出一个错误。
你认为问题在哪里?
老实说,我不知道这是否与opencv、rtsp或pyinstaller有关,所以我已经标记了这三个。
发布于 2018-11-26 03:02:54
我可以为我自己的问题找到一个解决办法。看起来,我们需要一个opencv_ffmpegxx.dll和.exe文件一起使用。在这里,xx应该是.py制作.exe时的opencv版本。我的opencv版本是3.4.3 (上面甚至显示了错误),因此,我把opencv_ffmpeg343_64.dll放在了我的.exe旁边。
如何找到相应的dll: C:\Users\username\Anaconda3\envs\envname\Lib\site-packages\cv2/:在使用Anaconda时查找。
给this的学分
https://stackoverflow.com/questions/53295631
复制相似问题