Record Screen Function TypeError: Expected Ptr<cv::UMat> for argument 'src'

Record Screen Function TypeError: Expected Ptr<cv::UMat> for argument 'src'

我想要一个输出图像的功能,这样我就可以将它与其他图像进行比较,它还应该输出图片中的文本

但是我得到这个错误TypeError: Expected Ptr<cv::UMat> for argument 'src'

这是我的代码

def rec_screen(x1,y1,x2,y2):
    printscreen = np.array(ImageGrab.grab(bbox=(x1, y1, x2, y2)))
    printscreen = cv2.cvtColor(printscreen, cv2.COLOR_BGR2RGB)
    cv2.imshow('window', printscreen)
    if (cv2.waitKey(25) & 0xFF == ord('q')):
        print("1")
return ([printscreen,(tess.image_to_string(printscreen))])

def crawler():
    print(rec_screen(889, 259, 917, 247)[1])

我试过了,没用

gray = (np.float32(imgUMat), cv2.COLOR_RGB2GRAY)

您的图像是 28x0,这就是为什么您在 cv2.imshow('window', printscreen)

上出错的原因

这是因为你传递的坐标不对,试试:

def crawler():
    print(rec_screen(889, 247, 917, 259)[1])

(y2 应该大于 y1)