Google Colaboratory中上传PNG后,如何在单元格正常显示图片?
解决Google Colab Markdown单元格无法显示本地上传图片的问题
这是因为Colab和本地Jupyter的运行机制存在差异——本地Jupyter的Markdown单元格可以直接读取本地工作目录的文件,但Colab是云端环境,Markdown单元格的相对路径指向的是前端网页的资源路径,而非服务器端的工作目录,所以直接用<img src="bp.png">找不到目标文件。
给你几个可行的解决方案:
方案1:获取Colab生成的图片临时URL
在代码单元格里运行以下代码,会弹出图片预览窗口,复制预览页面里的完整图片URL(格式类似https://colab.research.google.com/.../bp.png):
from google.colab import files files.view('bp.png')
然后把这个URL替换到你的Markdown代码中:
<h2 align="center">Image</h2> <img src="复制的图片URL" width="600">
这样Markdown单元格就能正常加载并显示图片了。
方案2:将图片转为Base64嵌入Markdown
这种方法不需要依赖外部URL,直接把图片编码嵌入到内容里,在代码单元格运行:
import base64 from IPython.display import Markdown # 读取图片并转为Base64编码 with open('bp.png', 'rb') as img_file: img_base64 = base64.b64encode(img_file.read()).decode() # 生成带图片的Markdown内容 md_content = f'<h2 align="center">Image</h2> <img src="data:image/png;base64,{img_base64}" width="600">' display(Markdown(md_content))
运行后会直接在代码单元格位置显示居中标题和图片,效果和Markdown单元格完全一致。
方案3:用IPython.display直接显示(更简洁)
如果不需要严格使用Markdown单元格,在代码单元格里用以下代码也能实现相同的视觉效果:
from IPython.display import Image, display, Markdown # 显示居中标题 display(Markdown('<h2 align="center">Image</h2>')) # 显示指定尺寸的图片 display(Image('bp.png', width=600))
内容的提问来源于stack exchange,提问作者Sergey Zakharov
相关产品推荐
相关产品推荐

