python-3.x - 使用 PIL 的 ImageGrab 时,openCV matchTemplate 似乎不起作用
问题描述
获取屏幕截图。
hwnd = win32gui.FindWindow(None,found)
win32gui.SetForegroundWindow(hwnd)
dimensions = win32gui.GetWindowRect(hwnd)
image = ImageGrab.grab(dimensions)
将其转换为 numpy 数组以及灰度和无符号 8 位/像素:
image=image.convert('RGB')
image = numpy.array(image)
cv_img = image.astype(np.uint8)
cv_gray = cv2.cvtColor(cv_img, cv2.COLOR_RGB2GRAY)
但是我不断收到此错误: (-215) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function cv::matchTemplate - 当我将其传递给 matchTemplate 函数:
result = cv2.matchTemplate(table_img,cv_img, cv2.TM_CCOEFF_NORMED)
解决方案
推荐阅读
- python - 用户不再选择同一个用户的逻辑?
- node.js - 如何使用可选参数创建端点?(节点、快递、MongoDB)
- list - 在 Prolog 的嵌套列表中查找元素的位置
- flutter - 颤振中的HTTP标头字段值无效
- excel - 为什么我不能重命名我的 Excel VBA 类模块?
- laravel - 在 Laravel Sail 8.0 环境中安装 Jenssegers/MongoDB
- swift - 使用 CoreData 在 SwiftUI 中创建供应商并为其添加品牌
- go - 如何在使用 Delve 调试 Go 二进制文件期间更改寄存器值?
- c# - C#Forms如何在运行时用鼠标移动图片框
- android - 为计数器应用程序重置或制作连续运动布局