Python-OpenCV-imread如何显示图像?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (504)

我目前正在阅读图像并将其显示在窗口中。我已经成功地做到了这一点,但是在显示图像时,窗口只允许我看到完整图像的一部分。加载后,我尝试保存映像,然后它保存了整个映像。所以我相当肯定它是在阅读整个图像。

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()

根据OpenCV文档CV_WINDOW_KEEPRATIO标志应该做同样的事情,但是它没有,它的值甚至没有在python模块中显示。

用户回答回答于
namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image );                   // Show our image inside it.

扫码关注云+社区

领取腾讯云代金券