OPENCV IMSHOW窗口呈现屏幕;如何移动一个Imshow窗口?
我有一个函数可以捕获命名应用程序窗口的屏幕截图,并使用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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MoveWindow
想要窗口名称而不是对象。moveWindow
wants the window name not the object.