Programing

Jupyter Notebook의 파일에서 이미지를 표시하려면 어떻게해야합니까?

lottogame 2020. 6. 13. 10:14
반응형

Jupyter Notebook의 파일에서 이미지를 표시하려면 어떻게해야합니까?


Bioython 모듈로 만든 일부 게놈 차트를 대화식으로 분석하는 방법으로 IPython 노트북 을 사용하고 싶습니다 GenomeDiagram. matplotlibIPython 노트북에서 그래프를 인라인으로 가져 오는 방법에 대한 광범위한 문서가 있지만 GenomeDiagram은 IPython에서 인라인 그래프로 지원되지 않는 ReportLab 툴킷을 사용합니다.

그러나이 문제를 해결하는 방법은 플롯 / 게놈 다이어그램을 파일에 작성한 다음 이미지를 인라인으로 열어서 다음과 같은 결과를 얻을 수 있다고 생각했습니다.

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

그러나이 작업을 수행하는 방법을 알 수 없거나 가능한지 알 수 없습니다. IPython에서 이미지를 열거 나 표시 할 수 있는지 아는 사람이 있습니까?


씨의 이 게시물은 다음을 수행 할 수 있습니다 :

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

( 공식 문서 )


루프 내에서 이런 식으로 이미지를 표시하려는 경우 이미지 생성자를 표시 메소드로 랩핑해야합니다.

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))

지금까지 게시 된 솔루션은 png 및 jpg에서만 작동합니다.

추가 라이브러리를 가져 오지 않고 더 쉽게 원하거나 애니메이션 또는 애니메이션되지 않은 GIF 파일을 Ipython Notebook에 표시하려는 경우. 표시하려는 위치를 마크 다운으로 변환하고이 멋진 짧은 핵을 사용하십시오!

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

.jpgJupyter 에서 이미지를 가져 와서 표시합니다 (Anaconda 환경에서 Python 2.7로 테스트).

from IPython.display import display
from PIL import Image


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

PIL을 설치해야 할 수도 있습니다

Anaconda에서 이것은 입력하여 수행됩니다.

conda install pillow

씨의 페이지는, 나는 제안을 위하지 않았다 때이 일을 발견 :

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()))

PIL을 사용하여 Jupyter Notebook에서 이미지 파일을 표시 할 수도 있습니다.

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

이것은 루프에서도 작동합니다.


GenomeDiagramJupyter (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"))

[노트북 참조]


표준 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()

참고 URL : https://stackoverflow.com/questions/11854847/how-can-i-display-an-image-from-a-file-in-jupyter-notebook

반응형