这里示例jupyter-lab代码单元格中显示图片显示http图片的多种方式。
所用示例参考和修改自网络资料。
1 间接显示
1.1 处理过程
先下载图片链接文件,然后转化为RGB格式,最后通过plt工具显示。
处理过程如下所示:
1)urllib.request.urlopen(img_url)打开http图片链接
2)PIL.Image.open()将图片内容转化为PIL格式
3)numpy进一步将图片转化为RGB格式
4)plt显示RGB图片
1.2 示例代码
代码示例如下所示。
import PIL
import urllib
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
def image_display(img_url):
img = np.array(PIL.Image.open(urllib.request.urlopen(img_url)))
plt.imshow(img)
plt.axis('off')# 不显示坐标轴
plt.show()
# 图片链接
img_url = "http://xxxx.com/images/image.jpg"
image_display(img_url)
1.3 display显示
另外,jupyter其实可以通过display直接显示PIL格式的图片。
import PIL
import urllib
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
def image_display(img_url):
# 打开图片
img = PIL.Image.open(urllib.request.urlopen(img_url))
# 显示图片
display(img)
# 图片链接
img_url = "http://xxxx.com/images/image.jpg"
image_display(img_url)
2 直接显示
2.1 处理过程
如果不想走下载、打开、转换、显示流程,则可通过IPython.display的Image直接显示图片。
2.2 示例代码
示例代码如下所示。
from IPython.display import Image
# 显示本地图片
Image(filename="images/image.jpeg", width=300)
# 或者显示网络图片
Image(url='https://example.com/image.jpg', width=300)
reference
Jupyter Notebook 中显示图片