代码之家  ›  专栏  ›  技术社区  ›  Harry Moreno

在Python中绘制通过url检索的图像网格

  •  1
  • Harry Moreno  · 技术社区  · 7 年前

    如何使用Matplotlib和通过网络检索的图像显示图像网格?

    我尝试了以下方法

    import matplotlib.pyplot as plt
    import numpy as np
    import urllib.request
    
    a_url = 'https://via.placeholder.com/255x255'
    
    # fetch image from placeholder.com
    data = urllib.request.urlopen(a_url).read()
    np_arr = np.frombuffer(data)
    
    plt.plot(np_arr)
    
    '''
    images = [data]
    print(type(data))
    
    plt.figure(figsize=(20,10))
    columns = 5
    for i, image in enumerate(images):
        plt.subplot(len(images) / columns + 1, columns, i + 1)
        plt.imshow(image)
    '''
    

    但是得到错误 buffer size must be a multiple of element size

    2 回复  |  直到 7 年前
        1
  •  3
  •   Harry Moreno    7 年前

    解决方案

    import matplotlib.pyplot as plt
    
    a_url = 'https://via.placeholder.com/255x255'
    
    data = plt.imread(a_url)
    images = [data for _ in range(13)]
    
    plt.figure(figsize=(20,10))
    columns = 5
    for i, image in enumerate(images):
        plt.subplot(len(images) / columns + 1, columns, i + 1)
        plt.imshow(image)
    

    交互式链接 https://drive.google.com/file/d/1a-toRZ9rOL-_BwBuD1kYdAgZnVj25C4v/view?usp=sharing

        2
  •  0
  •   Wei Zhang    7 年前

    实际上,您可以使用 plt.imread 和url,然后用 plt.imshow