Jupyter Notebook의 파일에서 이미지를 표시하려면 어떻게해야합니까?
Bioython 모듈로 만든 일부 게놈 차트를 대화식으로 분석하는 방법으로 IPython 노트북 을 사용하고 싶습니다 GenomeDiagram
. matplotlib
IPython 노트북에서 그래프를 인라인으로 가져 오는 방법에 대한 광범위한 문서가 있지만 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에 표시하려는 경우. 표시하려는 위치를 마크 다운으로 변환하고이 멋진 짧은 핵을 사용하십시오!

.jpg
Jupyter 에서 이미지를 가져 와서 표시합니다 (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))
이것은 루프에서도 작동합니다.
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"))
표준 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()
'Programing' 카테고리의 다른 글
세 자리 숫자마다 쉼표를 추가하십시오 (0) | 2020.06.13 |
---|---|
AngularJS 빠른 검색을 지연시키는 방법은 무엇입니까? (0) | 2020.06.13 |
iPhone에서 Objective-C로 메소드 이름 NSLog (0) | 2020.06.13 |
virtualenv에서 환경 변수 설정 (0) | 2020.06.13 |
appCompat 22.1 이상에서 새로운 AlertDialog를 사용하고 스타일을 지정하는 방법 (0) | 2020.06.13 |