我刚开始使用favicons,在理解格式方面遇到了困难。举两个例子:我从google.com中拉出图标,注意到它的形状是16x16x4。为什么不是16x16x3?
对于whatsapp.com,它是194x194,当我尝试显示图像时,它看起来已经损坏,与jupyter notebook用于显示图像的内置工具不同
from PIL import Image
import requests
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import Image as show_Image
def get_favicon_save_load_display(host):
example = requests.get( "https://" + host + '/favicon.ico')
with open(host + ".favicon.ico", 'wb') as f:
f.write(example.content)
im = Image.open(host + ".favicon.ico")
np_im = np.array(im)
print("The image shape is: ", np_im.shape)
plt.imshow(np_im)
plt.show()
get_favicon_save_load_display('google.com')
get_favicon_save_load_display('whatsapp.com')
example = requests.get('https://whatsapp.com/favicon.ico')
show_Image(example.content)我希望图像的形状是16x16x3,并且我希望图像以同样的方式呈现。有什么明显的我遗漏了什么吗?
发布于 2019-09-28 12:22:18
第四个通道是alpha,它包含透明度信息。如果你像这样读你的图片,
im = Image.open(host + ".favicon.ico").convert('RGBA')它应该正确显示。
https://stackoverflow.com/questions/58143265
复制相似问题