[python] 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()))


답변

마크 다운 섹션에서 HTML 코드를 사용할 수 있습니다 : 예 :

 <img src="https://www.tensorflow.org/images/colab_logo_32px.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()