在OpenCV中浏览视频非常占用CPU,为什么不是';看视频不是很紧张吗?
如果我在本地观看H264编码的视频,我几乎看不到对CPU的任何影响。(我没有GPU) 但是,如果我用以下代码逐帧浏览同一视频:在OpenCV中浏览视频非常占用CPU,为什么不是';看视频不是很紧张吗?,opencv,Opencv,如果我在本地观看H264编码的视频,我几乎看不到对CPU的任何影响。(我没有GPU) 但是,如果我用以下代码逐帧浏览同一视频: cap = cv2.VideoCapture(path_to_video) while True: _, frame = cap.read() 我的CPU使用量激增。为什么会这样?与我在VLC或Quicktime中本地观看视频相比,我在这里做的有什么不同 对于VLC/quicktime,软件优化/硬件加速(卸载到GPU)可能会让软件在cpu上更轻松地完成这项工
cap = cv2.VideoCapture(path_to_video)
while True:
_, frame = cap.read()
我的CPU使用量激增。为什么会这样?与我在VLC或Quicktime中本地观看视频相比,我在这里做的有什么不同 对于VLC/quicktime,软件优化/硬件加速(卸载到GPU)可能会让软件在cpu上更轻松地完成这项工作
Python作为解释语言(取决于您的系统配置)没有相同的优化 嗨!对不起,我刚刚在帖子中补充说我没有专用的GPU。这会改变你的答案吗?大多数系统都有一个集成的gpu,在设备管理器中寻找类似Intel HD5450图形的东西。我怀疑,如果不知道更多关于你的设置,答案是视频收看程序已经编译(在QuaQuiT/VLC的情况下)工作在一个低得多的水平上,而且速度更快,因为可能是GPU或VPUPPONV在C++中实现。解释器在这三行程序中所做的工作量可以忽略不计。忽略这段代码根本不会运行的事实,因为
grab()
只返回一个布尔值(它不会解压为2个值),您告诉计算机尽快从视频中抓取所有帧。如果没有GPU的帮助,看到CPU充分利用将是预期的结果。编辑我的问题!OpenCV不应该通过CPU使用硬件加速吗?您想使用哪种硬件加速?(即,哪个设备将执行所有计算?)