我应该使用numpy进行图像处理程序吗?为什么

时间:2014-11-19 07:39:42

标签: python arrays image-processing numpy

为什么我应该使用numpy来表示图像处理程序中的像素而不是仅仅将值存储在我自己的数字数组中?目前我正在做后者,但我看到很多人都在谈论使用numpy将像素表示为多维数组。除此之外,为什么我应该使用numpy而不是我自己的实现?

2 个答案:

答案 0 :(得分:3)

如果你正在研究Python中的图像处理,你一定要看看:

http://scipy-lectures.github.io/advanced/image_processing/index.html

答案 1 :(得分:2)

嗯,我认为你可以做到这一点,但可能不太方便。原因可能是:

  1. numpy支持所有矩阵操作,并且由于它已经过优化,因此可以更快(您也可以切换到OpenBLAS以使其更快速地运行)。对于图像处理问题,在图像变大的某些情况下,速度可能要求很高。

  2. numpy有许多有用的函数句柄,例如numpy.fft表示傅立叶变换,或numpy.conv表示进行卷积。这对图像处理至关重要。

  3. 所有模块或软件包几乎都基于numpy,例如scipy,graphlab和matplotlib。例如,您应该使用' import matplotlib.pyplot作为plt; plt.imshow()'显示图像;以及其他一些数组很难被接受作为论据。