2016-02-03 72 views
4

我是6400×3200,而我的屏幕是1280 * 800。因此,一個圖像,該圖像需要調整大小僅用於顯示。我正在使用Python和OpenCV 2.4.9。 據OpenCV Documentation的OpenCV的&python - 圖片過大,顯示

如果你需要顯示的圖像比屏幕分辨率越大,你將imshow之前需要調用namedWindow(「」,WINDOW_NORMAL)。

這就是我所做的,但圖像不適合屏幕,只顯示一部分,因爲它太大了。我也試過使用cv2.resizeWindow,但它沒有任何區別。

import cv2 
cv2.namedWindow("output", cv2.WINDOW_NORMAL)  # Create window with freedom of dimensions 
# cv2.resizeWindow("output", 400, 300)    # Resize window to specified dimensions 
im = cv2.imread("earth.jpg")      # Read image 
cv2.imshow("output", im)       # Show image 
cv2.waitKey(0)          # Display the image infinitely until any keypress 
+0

,你應該能夠通過指向光標移動到窗口來調整圖像的窗口邊框 – orkan

+0

感謝您的回覆,但是當我做到這一點,調整窗口的大小而不是圖像(圖像不能完全顯示)。即使它工作,它仍然不是理想的,因爲我必須多次拖動邊框以最終適應屏幕,而且這是爲了連續從網絡攝像頭讀取,我不希望用戶調整大小手動窗口。 – Zynk

+0

然後,只需調整你展示你想要的尺寸 – Miki

回答

12

雖然我期待自動解決方案(自動裝配到屏),調整大小解決問題爲好。

import cv2 
cv2.namedWindow("output", cv2.WINDOW_NORMAL)  # Create window with freedom of dimensions 
im = cv2.imread("earth.jpg")      # Read image 
imS = cv2.resize(im, (960, 540))     # Resize image 
cv2.imshow("output", imS)       # Show image 
cv2.waitKey(0)          # Display the image infinitely until any keypress 
+0

它可能是cv2.imshow(「輸出」,** imS **) – Miki

+0

是的,我的錯誤,我在我的代碼上有正確的,但不是在這裏。謝謝 – Zynk