Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OpenCV中浏览视频非常占用CPU,为什么不是';看视频不是很紧张吗?_Opencv - Fatal编程技术网

在OpenCV中浏览视频非常占用CPU,为什么不是';看视频不是很紧张吗?

在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上更轻松地完成这项工

如果我在本地观看H264编码的视频,我几乎看不到对CPU的任何影响。(我没有GPU)

但是,如果我用以下代码逐帧浏览同一视频:

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使用硬件加速吗?您想使用哪种硬件加速?(即,哪个设备将执行所有计算?)