我目前正在閱讀圖像並將其顯示到窗口。我已成功完成此操作,但在顯示圖像後,窗口僅允許我看到完整圖像的一部分。我嘗試加載後保存圖像,並保存了整個圖像。所以我相當肯定它正在讀取整個圖像。Python - OpenCV - imread - 顯示圖像
imgFile = cv.imread('1.jpg')
cv.imshow('dst_rt', imgFile)
cv.waitKey(0)
cv.destroyAllWindows()
圖片:
截圖:
我目前正在閱讀圖像並將其顯示到窗口。我已成功完成此操作,但在顯示圖像後,窗口僅允許我看到完整圖像的一部分。我嘗試加載後保存圖像,並保存了整個圖像。所以我相當肯定它正在讀取整個圖像。Python - OpenCV - imread - 顯示圖像
imgFile = cv.imread('1.jpg')
cv.imshow('dst_rt', imgFile)
cv.waitKey(0)
cv.destroyAllWindows()
圖片:
截圖:
貌似圖片太大,窗口根本不適合屏幕。 使用cv2.WINDOW_NORMAL
標誌創建窗口,它將使其具有可伸縮性。然後,你可以調整大小以適應你的屏幕是這樣的:
from __future__ import division
import cv2
img = cv2.imread('1.jpg')
screen_res = 1280, 720
scale_width = screen_res[0]/img.shape[1]
scale_height = screen_res[1]/img.shape[0]
scale = min(scale_width, scale_height)
window_width = int(img.shape[1] * scale)
window_height = int(img.shape[0] * scale)
cv2.namedWindow('dst_rt', cv2.WINDOW_NORMAL)
cv2.resizeWindow('dst_rt', window_width, window_height)
cv2.imshow('dst_rt', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
According to the OpenCV documentationCV_WINDOW_KEEPRATIO
標誌也應該這樣做,但它沒有,它甚至不是Python模塊中提供價值。
這可以幫助你
namedWindow("Display window", CV_WINDOW_AUTOSIZE);// Create a window for display.
imshow("Display window", image); // Show our image inside it.
您正在使用舊版本(用於名爲'cv2'的新模塊)。嘗試更新它。 – Igonato
對不起,我忘記提及我正在使用cv2作爲cv。 –
這段代碼看起來不錯。你能告訴我們一個截圖嗎? – Igonato