【发布时间】:2017-06-08 19:23:27
【问题描述】:
我有大约 300 万张图片,需要为每张图片计算直方图。现在我正在使用python,但它需要很多时间。有没有办法批量处理图像?我有 NVIDIA 1080 Ti GPU 卡,所以也许有办法在 GPU 上进行处理?
我找不到任何代码或库来并行处理图像。感谢您对提高速度的任何帮助
【问题讨论】:
-
你没有说到目前为止你一直在尝试什么,所以很难说什么会更好。根据您的应用程序,也许您可以使用
np.bincount而不是np.histogram,这要快得多,因为它不会对任意浮点数和任意范围执行分箱。另外,您是否确认实际的直方图计算是您的瓶颈,而不是 I/O? -
到目前为止,我正在使用 for 循环,如我的问题中所述。我为每张图片调用
numpy.histogram。关于查询的第二部分,是的,直方图计算是瓶颈。我正在做一些其他处理以及直方图计算。如果我注释掉直方图部分,代码运行良好。 -
np.histogram对于这个特定的任务来说太慢了。在我的笔记本电脑上np.bincount大约快 5 倍。 OpenCV 还有一个可能更快的直方图函数(我没试过)。 Here 是所有三种方法的示例。
标签: python-3.x numpy histogram