Ger*_*Ger 262 python image jupyter jupyter-notebook
我想在jupyter笔记本中包含图像.
如果我做了以下,它的工作原理:
from IPython.display import Image
Image("img/picture.png")
Run Code Online (Sandbox Code Playgroud)
但我想将图像包含在markdown单元格中,以下代码给出了404错误:

Run Code Online (Sandbox Code Playgroud)
我也试过了

Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的错误:
404 GET /notebooks/%22/home/user/folder/img/picture.png%22 (127.0.0.1) 2.74ms referer=http://localhost:8888/notebooks/notebook.ipynb
Run Code Online (Sandbox Code Playgroud)
Seb*_*ler 266
在markdown中,您不得在图像文件的名称周围使用引号!
如果您仔细阅读了错误消息,您将%22在链接中看到这两部分.这是html编码的引号.
你必须改变这条线

Run Code Online (Sandbox Code Playgroud)
至
Run Code Online (Sandbox Code Playgroud)
UPDATE
假设您具有以下文件结构,并且您jupyter notebook在存储文件example.ipynb(< - 包含图像的标记)的目录中运行 命令:
/
+-- example.ipynb
+-- img
+-- picture.png
Run Code Online (Sandbox Code Playgroud)
Reb*_*que 185
有几种方法可以在Jupyter笔记本中发布图像:
from IPython.display import Image
from IPython.core.display import HTML
Image(url= "http://my_site.com/my_picture.jpg")
Run Code Online (Sandbox Code Playgroud)
您保留使用HTML标记调整大小等的能力......
Image(url= "http://my_site.com/my_picture.jpg", width=100, height=100)
Run Code Online (Sandbox Code Playgroud)
您还可以通过相对路径或绝对路径显示本地存储的图像.
PATH = "/Users/reblochonMasque/Documents/Drawings/"
Image(filename = PATH + "My_picture.jpg", width=100, height=100)
Run Code Online (Sandbox Code Playgroud)
如果图像比显示设置宽: 谢谢
用于unconfined=True禁用图像的最大宽度限制
from IPython.core.display import Image, display
display(Image('https://i.ytimg.com/vi/j22DmsZEv30/maxresdefault.jpg', width=1900, unconfined=True))
Run Code Online (Sandbox Code Playgroud)
(确保单元格是markdown单元格,而不是代码单元格,感谢@游凯超在评论中)
对于网络图像:

Run Code Online (Sandbox Code Playgroud)
如@cristianmtr所示注意不要使用这些引号""或''网址周围的引号.
或当地的:

Run Code Online (Sandbox Code Playgroud)
由@Sebastian演示
小智 53
或者,您可以使用纯HTML <img src>,它允许您更改高度和宽度,并仍由降价解释器读取:
<img src="subdirectory/MyImage.png",width=60,height=60>
Run Code Online (Sandbox Code Playgroud)
Pet*_*ter 21

该图像实际上嵌入在 ipynb Notebook 中,您无需处理单独的文件。不幸的是,这不适用于 Jupyter-Lab (v 1.1.4)。
编辑:适用于 JupyterLab 1.2.6 版
Mal*_*umi 17
我很惊讶这里没有人提到过html cell magic选项.来自文档(IPython,但Jupyter也一样)
%% HTML
Run Code Online (Sandbox Code Playgroud)Render the cell as a block of HTML
小智 17
除了使用HTML的其他答案(在Markdown中或使用%%HTML魔术:
如果您需要指定图像高度,这将不起作用:
<img src="image.png" height=50> <-- will not work
Run Code Online (Sandbox Code Playgroud)
这是因为Jupyter中的CSS样式使用标签的height: auto每个默认值img,这会覆盖HTML height属性.您需要覆盖CSS height属性:
<img src="image.png" style="height:50px"> <-- works
Run Code Online (Sandbox Code Playgroud)
cod*_*ord 11
我知道这并不完全相关,但是由于当您搜索“ 如何在Jupyter中显示图像 ”时,此答案在很多时候都排名第一,因此也请考虑此答案。
您可以使用matplotlib如下显示图像。
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
image = mpimg.imread("your_image.png")
plt.imshow(image)
plt.show()
Run Code Online (Sandbox Code Playgroud)
cri*_*mtr 10
以下是Markdown如何做到这一点:

Run Code Online (Sandbox Code Playgroud)
小智 10
如果你想使用Jupyter Notebook API(而不是IPython),我会找到ipywidgets Jupyter的子项目.你有一个Image小部件.Docstring指定您有一个value参数,它是一个字节.所以你可以这样做:
import requests
from ipywidgets import Image
Image(value=requests.get('https://octodex.github.com/images/yaktocat.png').content)
Run Code Online (Sandbox Code Playgroud)
我同意,使用Markdown风格更简单.但它会向您显示图像显示Notebook API.您还可以使用width和height参数调整图像大小.
id0*_*d01 10
虽然上面的许多答案都给出了使用文件或 Python 代码嵌入图像的方法,但有一种方法可以仅使用 markdown 和 base64 将图像嵌入到 jupyter 笔记本本身中!
要在浏览器中查看图像,您可以访问data:image/png;base64,**image data here**Base64 编码的 PNG 图像或data:image/jpg;base64,**image data here**Base64 编码的 JPG 图像的链接。可以在本答案的末尾找到示例链接。
要将其嵌入到 Markdown 页面中,只需使用与文件答案类似的构造,但使用 Base64 链接:。现在您的图像已 100% 嵌入到您的 Jupyter Notebook 文件中!
示例链接:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==
降价示例:

这是Jupyter和Python3的解决方案:
我把我的图像放在一个名为的文件夹中ImageTest.我的目录是:
C:\Users\MyPcName\ImageTest\image.png
Run Code Online (Sandbox Code Playgroud)
为了显示图像我使用了这个表达式:

Run Code Online (Sandbox Code Playgroud)
还要注意/和\
小智 6
注意:您应该在计算机上拥有图像的本地副本
您可以将图像插入Jupyter笔记本本身。这样,您无需将图像单独保存在文件夹中。
脚步:
将单元格转换为markdown:
现在转到菜单栏,然后选择编辑->插入图像。
从磁盘中选择图像并上传。
按Ctrl+ Enter或Shift+ Enter。
这将使图像成为笔记本的一部分,您无需在目录或Github中上传。我觉得这看起来更干净,而且不容易出现URL损坏的问题。
| 归档时间: |
|
| 查看次数: |
335686 次 |
| 最近记录: |