【发布时间】:2021-01-18 14:23:58
【问题描述】:
我目前正在使用 opencv-python 创建具有绘图功能的图像查看器。
我的目标是在其中心有一个包含加载图像的全屏窗口。
我可以将窗口设置为全屏并显示图像。 我还可以实现一些基本的绘图,并允许使用鼠标监听器放大/缩小图像。
但是我找不到将图像居中显示的窗口的方法。
这里是窗口部分的示例代码
#!/usr/bin/python3
import cv2
# Set screen resolution
resolution = (1920, 1080)
# Create window
cv2.namedWindow('Output')
cv2.resizeWindow("Output", resolution[0], resolution[1])
# Read and show image
inputImage = cv2.imread("stackoverflow.png")
cv2.imshow('Output', inputImage)
# Wait for keyboard input
chr = -1
while 0 < cv2.getWindowProperty("Output", cv2.WND_PROP_AUTOSIZE):
chr = cv2.waitKey(100)
Matplotlib 做得很好,它甚至可以根据窗口大小调整打印图像的大小。
我想用 opencv 实现类似的东西。
- 是否可以用 opencv 实现这样的布局
- 是否应该寻找像 GTK 这样的窗口管理器来实现它?
【问题讨论】:
-
我的猜测是 OpenCV 会填充图像,因为您的图像小于窗口。如果我是你,我会先按比例(例如 1.5)调整图像的大小,使纵横比保持不变,然后自己填充其余部分,使其在窗口居中。
标签: python-3.x opencv opencv-python