cv2.imshow图像窗口放置在可视屏幕之外

时间:2017-11-11 05:12:13

标签: python windows opencv imshow

我正在运行Anaconda安装的python35,并安装了menpo的cv2。 我遇到问题时cv2.imshow()在将可视屏幕外的代码放置在可视屏幕之外时遇到问题,因为在运行控制台(cmd,spyder,ipython)中运行类似于以下代码的代码作为独立脚本和逐行扫描...

import cv2
img = cv2.imread('Image71.jpg',0)
cv2.startWindowThread()
cv2.namedWindow('image')
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

我也在没有cv2.starWindowThread()cv2.namedWindow()的情况下尝试了相同的结果。窗口出现在我的任务栏上但不在视图中,cv2.waitKey(0)响应击键,我无法使用Windows 10的任何窗口排列快捷键将窗口带入视图(例如alt + tab, Winkey +左,等)。  我的操作系统是Win10版本1709。  任何帮助都非常感谢,谢谢!

2 个答案:

答案 0 :(得分:11)

img = cv2.imread("test.png")
winname = "Test"
cv2.namedWindow(winname)        # Create a named window
cv2.moveWindow(winname, 40,30)  # Move it to (40,30)
cv2.imshow(winname, img)
cv2.waitKey()
cv2.destroyAllWindows()

答案 1 :(得分:0)

Kinght将答案包装在易于调用的功能中

def showInMovedWindow(winname, img, x, y):
    cv2.namedWindow(winname)        # Create a named window
    cv2.moveWindow(winname, x, y)   # Move it to (x,y)
    cv2.imshow(winname,img)

img = cv2.imread('path.png')
showInMovedWindow('named_window',img, 0, 200)