Chciałbym dołączyć obraz do notatnika jupyter.
Jeśli zrobiłbym następujące, to działa:
from IPython.display import Image
Image("img/picture.png")
Chciałbym jednak uwzględnić obrazy w komórce przeceny, a następujący kod podaje błąd 404:
![title]("img/picture.png")
Też próbowałem
![texte]("http://localhost:8888/img/picture.png")
Ale nadal pojawia się ten sam błąd:
404 GET /notebooks/%22/home/user/folder/img/picture.png%22 (127.0.0.1) 2.74ms referer=http://localhost:8888/notebooks/notebook.ipynb
IPython.display.Image
działa zgodnie z oczekiwaniami.img
relatywnego do pliku HTML.![title](picture.png)
Istnieje kilka sposobów na opublikowanie obrazu w notesach Jupyter:
przez HTML:
Zachowujesz możliwość używania znaczników HTML do zmiany rozmiaru itp.
Możesz także wyświetlać obrazy przechowywane lokalnie, albo ścieżką względną, albo bezwzględną.
jeśli obraz jest szerszy niż ustawienia wyświetlania: dzięki
Użyj,
unconfined=True
aby wyłączyć ograniczenie szerokości obrazulub poprzez obniżkę:
(Na komputerach Mac, tak długo, jak jesteś w komórce przeceny, robisz tak:
![title](../image 1.png)
i nie martw się o białe znaki).dla obrazu internetowego:
jak pokazuje @cristianmtr Zwracając uwagę, aby nie używać ani tych cytatów,
""
ani tych''
wokół adresu URL.lub lokalny:
zademonstrowany przez @Sebastian
źródło
Alternatywnie możesz użyć zwykłego kodu HTML
<img src>
, który pozwala na zmianę wysokości i szerokości i jest nadal odczytywany przez interpretera znaków:źródło
width="60"
.Wiem, że nie jest to w pełni istotne, ale ponieważ ta odpowiedź jest często umieszczana na pierwszym miejscu, gdy szukasz „ sposobu wyświetlania obrazów w Jupyter ”, również ją rozważ.
Możesz użyć matplotlib do wyświetlenia obrazu w następujący sposób.
źródło
Dziwię się, że nikt tutaj nie wspomniał o magicznej opcji komórki HTML. z dokumentów (IPython, ale to samo dla Jupyter)
źródło
Oprócz innych odpowiedzi za pomocą HTML (w Markdown lub za pomocą
%%HTML
magii:Jeśli musisz określić wysokość obrazu, to nie zadziała:
Wynika to z faktu, że styl CSS w Jupyter
height: auto
domyślnie używaimg
tagów, co zastępuje atrybut wysokości HTML. Zamiast tego musisz zastąpićheight
atrybut CSS :źródło
Wstaw obraz bezpośrednio do notatnika Jupyter.
Uwaga: powinieneś mieć lokalną kopię obrazu na swoim komputerze
Możesz wstawić obraz do samego notatnika Jupyter. W ten sposób nie musisz przechowywać obrazu osobno w folderze.
Kroki:
Konwertuj komórkę na
markdown
:LUB
( Uwaga: ważne jest, aby przekonwertować komórkę na Markdown, w przeciwnym razie opcja „Wstaw obraz” w kroku 2 nie będzie aktywna)
Teraz przejdź do paska menu i wybierz Edycja -> Wstaw obraz.
Wybierz obraz z dysku i prześlij.
Naciśnij Ctrl+ Enterlub Shift+ Enter.
Spowoduje to, że obraz będzie częścią notebooka i nie musisz przesyłać do katalogu lub Github. Wydaje mi się, że to wygląda bardziej czysto i nie jest podatne na problemy z uszkodzonymi adresami URL.
źródło
Jupyter
. Należy zauważyć jedną wadę, w przypadkach, gdy ma to znaczenie: zawiera obraz wIPyNB Jason
kodzie, dzięki czemu jest znacznie większy, a nie przyjazny dla wersji (np. Podczas sprawdzaniadiff
).Oto, jak możesz to zrobić za pomocą Markdown:
źródło
![image.png](attachment:image.png)
Obraz jest w rzeczywistości osadzony w notatniku ipynb i nie trzeba się bawić z osobnymi plikami. To niestety nie działa jeszcze z Jupyter-Lab (wersja 1.1.4).
Edycja: Działa w JupyterLab wersja 1.2.6
źródło
Markdown
)Jeśli chcesz użyć interfejsu API Jupyter Notebook (a nie IPython), znajdę podprojekt ipywidgets Jupyter. Masz
Image
widżet. Docstring określa, że maszvalue
parametr, który jest bajtem . Możesz więc zrobić:Zgadzam się, łatwiej jest używać stylu Markdown. Ale pokazuje ekran API do wyświetlania obrazów. Możesz także zmienić rozmiar obrazu za pomocą parametrów
width
iheight
.źródło
value
na to, żedata
w międzyczasie zmieniono nazwę opcji . Dla lokalnie przechowywanego obrazu kodImage(data=open(filename_png, 'rb').read())
działał dla mnie.Oto rozwiązanie dla Jupyter i Python3 :
Upuściłem swoje zdjęcia w folderze o nazwie
ImageTest
. Mój katalog to:Aby wyświetlić obraz, użyłem tego wyrażenia:
Uważaj również na
/
i\
źródło
To działa dla mnie w komórce przeceny. Jakoś nie muszę specjalnie wymieniać, czy jest to obraz, czy zwykły plik.
źródło
Jedną z rzeczy, które znalazłem, jest to, że ścieżka obrazu musi być względna w stosunku do miejsca, z którego notebook został pierwotnie załadowany. jeśli przechodzisz do innego katalogu, takiego jak Obrazy, twoja ścieżka Markdown jest nadal względem oryginalnego katalogu ładowania.
źródło
Zgodziłem się, miałem te same problemy i to działało, a co nie:
źródło
Podczas gdy wiele z powyższych odpowiedzi umożliwia osadzenie obrazu przy użyciu pliku lub kodu Python, istnieje sposób na osadzenie obrazu w samym notatniku jupyter przy użyciu tylko markdown i base64!
Aby wyświetlić obraz w przeglądarce, możesz odwiedzić łącze
data:image/png;base64,**image data here**
do obrazu PNG zakodowanegodata:image/jpg;base64,**image data here**
w standardzie base64 lub w formacie JPG zakodowanego w standardzie base64. Przykładowy link można znaleźć na końcu tej odpowiedzi.Aby umieścić to na stronie wyprzedaży, wystarczy użyć podobną konstrukcję jak odpowiedziach plików, ale z base64 odwołują zamiast:
![**description**](data:image/**type**;base64,**base64 data**)
. Teraz Twój obraz jest w 100% osadzony w pliku Notatnika Jupyter!Przykładowy link:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==
Przykładowa przecena:
![smile](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAD9JREFUGJW1jzEOADAIAqHx/1+mE4ltNXEpI3eJQknCIGsiHSLJB+aO/06PxOo/x2wBgKR2jCeEy0rOO6MDdzYQJRcVkl1NggAAAABJRU5ErkJggg==)
źródło