OpenCV imshow window 渲染离屏;如何移动 imshow window?
OpenCV imshow window rendering off screen; how do I move an imshow window?
我有一个函数可以抓取命名应用程序 window 的屏幕截图并用 cv.imshow
显示它
但是 window 在屏幕外渲染。
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'
我还可以生成空白 window:
cv.imshow(test)
cv.moveWindow(test, 1000,800)
cv.waitKey(1)
但是当我尝试使用 haystack 时出现错误:Failed capture: Can't convert object to 'str' for 'winname'
cv.imshow("Ship Detection", haystack)
cv.moveWindow(haystack, 1000,800)
cv.waitKey(1)
cv.imshow("Ship Detection", haystack)
cv.moveWindow("Ship Detection", 1000,800)
cv.waitKey(1)
moveWindow
想要 window 名称而不是对象。
我有一个函数可以抓取命名应用程序 window 的屏幕截图并用 cv.imshow
但是 window 在屏幕外渲染。
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'
我还可以生成空白 window:
cv.imshow(test)
cv.moveWindow(test, 1000,800)
cv.waitKey(1)
但是当我尝试使用 haystack 时出现错误:Failed capture: Can't convert object to 'str' for 'winname'
cv.imshow("Ship Detection", haystack)
cv.moveWindow(haystack, 1000,800)
cv.waitKey(1)
cv.imshow("Ship Detection", haystack)
cv.moveWindow("Ship Detection", 1000,800)
cv.waitKey(1)
moveWindow
想要 window 名称而不是对象。