【问题标题】:Image to Array: Plain English图像到数组:简单的英语
【发布时间】:2016-09-20 19:19:37
【问题描述】:

我开始使用 numpy 和 PILlow 来处理图像文件。而且,在将图像转换为数组,然后使用数组时,通常会迷失方向。 有人可以解释当我将图像转换为数组时发生了什么。比如这样:

ab = numpy.asarray(img.convert('L'))

还有,为什么要转换成数组?这提供了什么功能,我可以用数组做什么?

谢谢

【问题讨论】:

    标签: python arrays python-2.7 numpy pillow


    【解决方案1】:

    什么是数字图像?

    数字图像是一组像素值。考虑这张图片:。它由 16x16 像素组成。由于大多数显示器都有 8 位(2^8 (256) 个可能的值)和 3 个通道(红色、绿色和蓝色),因此它由一个 16x16x3 的 0 到 255 之间的数字数组组成。

    微笑的数字图像已经由数字组成。当您使用 PIL.Image 加载它然后转换为 numpy 数组时,您所做的只是将数字公开给 numpy。 convert('L') 调用要求 PIL 将彩色图像(3 通道)转换为 L亮度或灰度(1 通道)图像。因此,它不是以 16x16x3 矩阵的形式暴露给 numpy,而是以 16x16x1 数组的形式暴露。

    数字图像中的数字没有什么特别之处。事实上,这是构成上述数字图像的数字:

    255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
    255 255 255 255 255   6   6   6   6   6   6   6 255 255 255 255
    255 255 255   6   6   6   6   6   6   6   6   6   6 255 255 255
    255 255   6   6   6 130 255 255 255 255 255   6   6   6 255 255
    255 255   6   6 255 255 255 255 255 255 255 255   6   6   6 255
    255   6   6  68 255 255 255 255 255 255 255 255 255   6   6 255
    255   6   6 255 255   6 161 255 255 255   6   6 255  84   6   6
    255   6   6 255  68   6   6 255 255 255   6   6 255 255   6   6
    255   6   6 255 255   6 255 255 255 255   6 115 255 255   6   6
    255   6   6 255 255 255 255 255 255 255 255 255 255 224   6   6
    255   6   6 255 255   6   6   6   6   6   6 255 255   6   6 176
    255 130   6   6 255 255   6   6   6   6  84 255 239   6   6 255
    255 255   6   6   6 255 255 255 255 255 255 208   6   6 176 255
    255 255 255   6   6   6   6 239 255 115   6   6   6   6 255 255
    255 255 255 255   6   6   6   6   6   6   6   6 224 255 255 255
    255 255 255 255 255 255 115   6   6   6 255 255 255 255 255 255
    

    为什么要将数字图像转换为 numpy 数组?

    我不知道 Pillow 的能力是什么,但我猜想 numpy 的数值/统计/定量能力比 Pillow 的要强大得多。一旦你将图像中的数字暴露给 numpy,你就可以做各种很酷的事情,比如找到它的平均亮度或方差(ab_mean = numpy.mean(ab)ab_var = numpy.var(ab)),对其进行 FFT(ab_fft = numpy.fft.fft2(ab))或转置它(ab_transposed = ab.T):

    【讨论】:

    • 非常感谢@rjonnal。这很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 2012-04-22
    • 1970-01-01
    相关资源
    最近更新 更多