2017-10-18 313 views
0

我更新的無限循環cv2.imshow()命令,我要處理的窗口位置,因爲窗口總是在我的顯示器的頂部,一小部分是invisable。如何將openCV中的imshow()和moveWindow()與python結合起來?

的cv2.moveWindow()命令是我的任務一個很好的解決方案,但有一種其他的方式來設置窗口位置只有一次,而不是在每次迭代命令重複?

我想更新窗口每500毫秒。有沒有更好的方法來顯示固定窗口位置的圖像流?

while true: 
    (...) 
    img = cv2.imread('test.jpg', cv2.IMREAD_COLOR) 
    cv2.imshow('image',img) 
    cv2.moveWindow('image',200,200) 
    (...) 
+0

我做過的一樣。我在while循環之前使用了一次moveWindow函數。如果在開始時沒有原始圖像顯示,您可以使用整個黑色圖像作爲默認設置,並且您將在循環中使用相同的尺寸。 (但是我使用的是C++/OpenCV,我不知道Python的工作原理是否相似) –

+0

謝謝,夏芳!它在Python中工作也很好。看到我的代碼 – Chris72H

回答

1

據夏方的評論,我想說明如何外的循環工作對我來說移動窗口的方式:

test_img = np.zeros(shape=(height,width,3)).astype('uint8') 
cv2.imshow('image',test_img) 
cv2.moveWindow('image',200,200) 
cv2.waitKey(1) 

while true: 
    (...) 
    img = cv2.imread('test.jpg', cv2.IMREAD_COLOR) 
    cv2.imshow('image',img) 
    (...) 
+1

是的好主意。您可以在第2行簡單地執行'cv2.imshow('image',cap.read()[1])',而不是創建靜態圖片 – crazjo

相關問題