2013-08-01 69 views
6

Tôi muốn làm điều gì đó như sau để hiển thị hai hình ảnh trên màn hình:Làm cách nào để sử dụng imshow để hiển thị nhiều hình ảnh trong nhiều cửa sổ?

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

Có thể làm điều đó?

Cảm ơn!

+0

thể trùng lặp của [Hiện nhiều (2,3,4, ...) hình ảnh trong cùng một cửa sổ trong OpenCV] (http://stackoverflow.com/questions/5089927/show-multiple-2- 3-4-hình ảnh-in-the-cùng-cửa sổ-in-opencv) – GPPK

+0

nhiều bản sao có sẵn! – Khashayar

Trả lời

9

Có, điều đó là có thể. Hàm void imshow(const string& winname, InputArray mat) hiển thị hình ảnh trong cửa sổ được chỉ định, trong đó -

  • tên hiệu - Tên cửa sổ.
  • hình ảnh - Hình ảnh được hiển thị.

Cửa sổ được xác định bằng tên của nó. Vì vậy, để hiển thị hai hình ảnh (img1, img2), trong hai cửa sổ khác nhau; sử dụng imshow với tên khác nhau như: -

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

Bạn có biết điều này có thể thực hiện được bằng Python với các ràng buộc cv2 không? Khi tôi gọi imshow ngay sau khi nó khác giết chết quá trình. – Jesse

+1

vâng tôi cũng muốn biết mã tương đương python. Hai cuộc gọi thành công tới cv2.imshow không đưa lên hai cửa sổ – aquagremlin

2

Và đây là làm thế nào để làm điều đó bằng Python:

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

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

Bạn chỉ cần tạo một cửa sổ có tên và thông qua tên của nó như là chuỗi để imshow.

+0

Tôi đang sử dụng jupyter và cv2.imshow không hiển thị bất kỳ thứ gì trong khi plt.imshow() hoạt động. Bất kỳ ý tưởng? – SeanJ

2

tôi đã làm việc này bằng Python, với một caveat:

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

Thông báo trước là cả cửa sổ đang ở trong cùng một vị trí chính xác trên màn hình, vì vậy nó chỉ trông như một cửa sổ mở ra (Ubuntu 14.4). Tôi có thể kéo chuột sang bên kia.

bây giờ tôi đang tìm cách đặt hai cạnh nhau automagically, đó là cách tôi tìm thấy câu hỏi này ..

+3

Bạn có thể di chuyển cửa sổ như thế này: cv2.moveWindow ("hình ảnh 2", 0, 0) – velotron

Các vấn đề liên quan