在Colab中,下面的代码片段将(如预期的那样)显示指定的图像:
from google.colab.patches import cv2_imshow
import cv2
#from PIL import Image
img = cv2.imread('drive/MyDrive/beagle2.jpg')
cv2_imshow(img)
但是,如果此代码作为Python文件运行,则会出现错误:AttributeError:模块'PIL'没有属性'Image'
为什么有差异?什么是模块PIL"有什么关系吗?我尝试过各种图像显示方法,虽然我可以让它们都在代码单元中工作,但在执行的文件中,它们要么给出错误,图像文件的文本描述,要么什么都没有。
我需要运行我的代码作为文件,以便传递参数。
答案如下:
而不是运行
!python yourScript.py
运行%run yourScript.py
和图像将显示pyplot,cv2_imshow等。
cf。如何从谷歌Colab的脚本文件与pyplot绘图?
这个解决方案花了很长时间才找到,为什么它的工作对我来说是不清楚的。这只是Colab的另一个没有很好记录的特性吗?
If
from PIL import Image
放在文件的顶部(而且只放在顶部)。),则生成以下图像描述:
& lt; PIL.Image。图片图片模式=RGB size=259x201 at 0x7F05007C5DA0>
但图像本身仍未显示。