2013-08-01 14 views
6

Mi piacerebbe fare qualcosa di simile a quanto segue, al fine di visualizzare due immagini sullo schermo:Come posso usare imshow per visualizzare più immagini in più finestre?

imshow("1", img1); 
imshow('2', 'img2'); 

E 'possibile farlo?

Grazie!

+0

possibile duplicato del [Visualizza multipla (2,3,4, ...) immagini nella stessa finestra in OpenCV] (http://stackoverflow.com/questions/5089927/show-multiple-2- 3-4-immagini-nella-stessa-finestra-in-opencv) – GPPK

+0

molti duplicati disponibili! – Khashayar

risposta

9

Sì, è possibile. La funzione void imshow(const string& winname, InputArray mat) visualizza un'immagine nella finestra specificata, dove -

  • winname - Nome della finestra.
  • immagine - Immagine da mostrare.

La finestra è identificata dal suo nome. Quindi per visualizzare due immagini (img1, img2), in due finestre diverse; utilizzare imshow con nome diverso, come: -

imshow("1",img1); 
imshow("2",img2); 
+1

Sai se questo è possibile in Python con i collegamenti cv2? Quando chiamo imshow uno dopo l'altro, uccide il processo. – Jesse

+1

sì, mi piacerebbe conoscere anche il codice equivalente python. Due chiamate successive a cv2.imshow non creano due finestre – aquagremlin

2

E qui è come farlo in Python:

cv2.namedWindow("Channels") 
    cv2.imshow("Channels", image_channels) 

    cv2.namedWindow("Main") 
    cv2.imshow("Main", image_main) 

È sufficiente creare una finestra di nome e passare il suo nome come stringa da imshow.

+0

Sto usando jupyter e cv2.imshow non mostra nulla mentre plt.imshow() funziona. Qualche idea? – SeanJ

2

Ho questo lavoro in Python, con un avvertimento:

cv2.imshow("image 1", my_image_1) 
cv2.imshow("image 2", my_image_2) 
cv2.waitKey(0) 

L'avvertenza è che entrambe le finestre sono nello stesso punto esatto sullo schermo, in modo che solo sembra come una finestra aperta verso l'alto (Ubuntu 14.4). Posso trascinare il mouse da una parte all'altra.

sto ora alla ricerca di come posizionare i due fianco a fianco automagically, che è come ho trovato questa domanda ..

+3

È possibile spostare la finestra in questo modo: cv2.moveWindow ("immagine 2", 0, 0) – velotron

Problemi correlati