2013-08-01 204 views
6

我想這樣做,以便在屏幕上顯示兩個圖像如下:如何使用imshow在多個窗口中顯示多個圖像?

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

是否有可能做到這一點?

謝謝!

+0

的可能重複的[顯示多個(2,3,4,...)在OpenCV的同一個窗口圖像](http://stackoverflow.com/questions/5089927/show-multiple-2- 3-4張圖像在同一窗口在opencv) – GPPK

+0

許多重複可用! – Khashayar

回答

9

是的,這是可能的。功能void imshow(const string& winname, InputArray mat)在指定窗口中顯示圖像,其中 -

  • winname - 窗口的名稱。
  • image - 要顯示的圖像。

該窗口由其名稱標識。因此要在兩個不同的窗口中顯示兩個圖像(img1,img2);使用imshow有不同的名稱,如: -

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

你知道這是否可以用Python與cv2綁定?當我立即調用imshow時,它會殺死進程。 – Jesse

+1

是的,我想知道python等效代碼。對cv2.imshow的兩個連續調用不會放置兩個窗口 – aquagremlin

2

這裏是如何做到這一點在Python:

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

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

您只需創建一個名爲窗口,並通過它的名字作爲字符串imshow。

+0

我使用jupyter和cv2.imshow不顯示任何內容,而plt.imshow()的作品。有任何想法嗎? – SeanJ

2

我在Python這方面的工作,有一個警告:

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

需要說明的是,這兩個窗口在屏幕上完全一樣的地方,所以它只是看起來像一個窗口打開了( Ubuntu 14.4)。 我可以將鼠標拖到另一側。

現在我正在尋找如何將並排自動的兩側,這是我發現這個問題..

+3

您可以像這樣移動窗口:cv2.moveWindow(「image 2」,0,0) – velotron