web-dev-qa-db-ja.com

Jupyter Notebookのファイルから画像を表示するにはどうすればよいですか?

Biopythonの GenomeDiagram モジュールで作成しているいくつかのゲノムチャートをインタラクティブに分析する方法として IPythonノートブック を使用したいと思います。 matplotlibを使用してIPythonノートブックでグラフをインラインで取得する方法に関する詳細なドキュメントがありますが、GenomeDiagramはIPythonのインライングラフでサポートされていないと思われるReportLabツールキットを使用します。

しかし、私はこれを回避する方法は、プロット/ゲノム図をファイルに書き出してから、画像をインラインで開き、次のようなものと同じ結果になると考えていました:

Gd_diagram.write("test.png", "PNG")
display(file="test.png")

しかし、私はこれを行う方法を理解することはできません-またはそれが可能かどうかを知ることはできません。だから、誰もが画像をIPythonで開く/表示できるかどうか知っていますか?

138
zach

この投稿 のおかげで、次のことができます:

from IPython.display import Image
Image(filename='test.png') 

公式ドキュメント

250
zach

ループ内でこの方法で画像を表示しようとしている場合、表示メソッドで画像コンストラクタをラップする必要があります。

from IPython.display import Image, display

listOfImageNames = ['/path/to/images/1.png',
                    '/path/to/images/2.png']

for imageName in listOfImageNames:
    display(Image(filename=imageName))
169
DrMcCleod

これまで投稿されたソリューションは、pngとjpgでのみ機能します。

さらにライブラリをインポートせずにさらに簡単にしたい場合、またはアニメーション化されたまたはアニメーション化されていないGIFファイルをIpythonノートブックに表示したい場合。表示したい行をマークダウンに変換し、このニースショートハックを使用してください!

![alt text](test.gif "Title")
28
Philipp Schwarz

これはJupyterに.jpgイメージをインポートして表示します(Anaconda環境でPython 2.7でテスト済み)

from IPython.display import display
from PIL import Image


path="/path/to/image.jpg"
display(Image.open(path))

PILをインストールする必要がある場合があります

アナコンダでは、これは次のように入力することで行われます

conda install pillow
7
Conor Cosnett

this pageのご厚意により、上記の提案が機能しなかった場合に機能することがわかりました。

import PIL.Image
from cStringIO import StringIO
import IPython.display
import numpy as np
def showarray(a, fmt='png'):
    a = np.uint8(a)
    f = StringIO()
    PIL.Image.fromarray(a).save(f, fmt)
    IPython.display.display(IPython.display.Image(data=f.getvalue()))
6
Afflatus

PILを使用して、Jupyterノートブックで画像ファイルを表示することもできます。

from PIL import Image
path = "cats/cat0.jpg"
display(Image.open(path))

これはループでも機能します。

4
ezchx

標準のnumpy、matplotlib、およびPILを使用するクリーンなPython3バージョン。 URLから開くための回答をマージします。

import matplotlib.pyplot as plt
from PIL import Image
import numpy as np

pil_im = Image.open('image.png') #Take jpg + png
## Uncomment to open from URL
#import requests
#r = requests.get('https://www.vegvesen.no/public/webkamera/kamera?id=131206')
#pil_im = Image.open(BytesIO(r.content))
im_array = np.asarray(pil_im)
plt.imshow(im_array)
plt.show()
1
Punnerud

GenomeDiagramをJupyter(iPython)で使用する場合、画像を表示する最も簡単な方法は、GenomeDiagramをPNG画像に変換することです。 IPython.display.Imageオブジェクトを使用してラップし、ノートブックに表示することができます。

from Bio.Graphics import GenomeDiagram
from Bio.SeqFeature import SeqFeature, FeatureLocation
from IPython.display import display, Image
Gd_diagram = GenomeDiagram.Diagram("Test diagram")
Gd_track_for_features = Gd_diagram.new_track(1, name="Annotated Features")
Gd_feature_set = Gd_track_for_features.new_set()
Gd_feature_set.add_feature(SeqFeature(FeatureLocation(25, 75), strand=+1))
Gd_diagram.draw(format="linear", orientation="landscape", pagesize='A4',
                fragments=1, start=0, end=100)
Image(Gd_diagram.write_to_string("PNG"))

[ノートブックを参照]

0
Quantum7