Próbuję podłączyć dwa obrazy aa i współczynnik za pomocą matplotlib i plt, problem polega na tym, że rysunek jest wyświetlany w konsoli nie Nowe okno, muszę mieć postać w nowym oddzielnym oknie, aby go zapisać i używać go poza kodem.

Wierzę, że problem jest rzeczywiście zaniepokojony wersją, której używam z Linux (Ubuntu) ? Czy brakuje mi niektórych linii kodu?

Dziękuję za pomoc.

import matplotlib.pyplot as plt
import numpy as np
import cv2

directory = "/home/stagiaire/Bureau/tech/IMG_170622_081910_0004_RED.TIF"

aa=cv2.imread(directory)

plt.figure()
plt.subplot(221), plt.imshow(aa),plt.title('Image originale')
plt.subplot(222), 
plt.imshow(np.array(REFLECTANCE).reshape(1280,960).T),plt.title('Reflectance')
1
Mourad Over Flow 26 czerwiec 2017, 16:20

3 odpowiedzi

Najlepsza odpowiedź

Domyślnie baldachim uruchamia swoje jądro IPython w trybie Pylab QT; W tym trybie Windows pojawiają się w nowym oknie. Ponieważ nie robią tego dla ciebie, wydaje się prawdopodobne, że z jakiegoś powodu w przeszłości zmieniłeś ustawienie na tryb w linii pylab. (Być może dlatego, że chciałeś uruchomić program TK, jako Oto?)

Zresetuj go do Qt (Edytuj => Preferencje => Python => Backend = QT). Czy teraz działa zgodnie z oczekiwaniami?

Btw, Aktualna wersja CANOPY jest 2.1.3.

0
Jonathan March 29 czerwiec 2017, 17:06

Iść do

Tools -> Preferences -> IPython consol -> Completion Type 

Ustaw go na graphical

2
mrk 23 luty 2019, 23:51

Jeśli używasz matplotlib, musisz pokazać obraz za pomocą plt.show(), chyba że nie jesteś w trybie interaktywnym:

plt.figure()
plt.imshow(sample_image) 
plt.show()  # display it

Uwaga : Bądź świadomy, że nie musisz pokazać obrazu, aby go zapisać.

plt.savefig('image.png')
3
mrk 27 czerwiec 2017, 07:53