OPENCV IMSHOW窗口呈现屏幕;如何移动一个Imshow窗口?

发布于 2025-01-25 14:55:43 字数 1027 浏览 0 评论 0原文

我有一个函数可以捕获命名应用程序窗口的屏幕截图,并使用cv.imshow显示它,

但是该窗口呈现在屏幕上。

import cv2 as cv

def videoLoop():
    window = pygetwindow.getWindowsWithTitle('App')[0]
    haystack_img = ImageGrab.grab(bbox=(750, 30, 1150, 78))
    haystack_img_np = np.array(haystack_img)
    haystack = cv.cvtColor(haystack_img_np, cv.COLOR_BGR2GRAY)
    test = cv.imshow("Ship Detection", haystack)
    cv.moveWindow(test, 1000,800)
    cv.waitKey(1)

我已经尝试使用cv.movewindow,但是我得到了null错误。

Failed capture: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window_w32.cpp:1515: error: (-27:Null pointer) NULL window: '' in function 'cvMoveWindow'

我还可以带一个空白窗口:

cv.imshow(test)
cv.moveWindow(test, 1000,800)
cv.waitKey(1)

但是当我尝试使用Haystack时,我会收到错误:失败捕获:无法将对象转换为'winname'

cv.imshow("Ship Detection", haystack)
cv.moveWindow(haystack, 1000,800)
cv.waitKey(1)

I've a function that grabs a screenshot of a named application window and displays it with cv.imshow

However the window is rendering off screen.

import cv2 as cv

def videoLoop():
    window = pygetwindow.getWindowsWithTitle('App')[0]
    haystack_img = ImageGrab.grab(bbox=(750, 30, 1150, 78))
    haystack_img_np = np.array(haystack_img)
    haystack = cv.cvtColor(haystack_img_np, cv.COLOR_BGR2GRAY)
    test = cv.imshow("Ship Detection", haystack)
    cv.moveWindow(test, 1000,800)
    cv.waitKey(1)

I've tried using cv.moveWindow but I'm getting a NULL error.

Failed capture: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window_w32.cpp:1515: error: (-27:Null pointer) NULL window: '' in function 'cvMoveWindow'

I can also spawn a blank window with:

cv.imshow(test)
cv.moveWindow(test, 1000,800)
cv.waitKey(1)

But when I try with haystack I get the error: Failed capture: Can't convert object to 'str' for 'winname'

cv.imshow("Ship Detection", haystack)
cv.moveWindow(haystack, 1000,800)
cv.waitKey(1)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟凡古楼 2025-02-01 14:55:43
cv.imshow("Ship Detection", haystack)
cv.moveWindow("Ship Detection", 1000,800)
cv.waitKey(1)

MoveWindow想要窗口名称而不是对象。

cv.imshow("Ship Detection", haystack)
cv.moveWindow("Ship Detection", 1000,800)
cv.waitKey(1)

moveWindow wants the window name not the object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文