首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python-mss错误:无法使用grab()在区域上截图

Python-mss错误:无法使用grab()在区域上截图
EN

Stack Overflow用户
提问于 2021-07-29 13:43:35
回答 1查看 180关注 0票数 0

我正在尝试使用mss和opencv来查找屏幕上的图像。但是,每当我尝试在mss中使用区域时,我都会得到这个错误:

这个问题似乎与一些资源没有被释放有关:python mss mss.exception.ScreenShotError:

我发现另一种解决方案是不使用区域,而是在整个屏幕上查看,但对于小图像来说,找到正确的图像变得更加困难。此外,当修改区域的坐标时,错误可能会无缘无故地消失(例如,不使用600、600、1200、800,而使用200、200、1200、800 )。

test.py

代码语言:javascript
运行
复制
from python_imagesearch.imagesearch import *
imagesearcharea("images/fermer.png", 600, 600, 1200, 800)

imagesearch.py

代码语言:javascript
运行
复制
def region_grabber(region):
    if is_retina: region = [n * 2 for n in region]
    x1 = region[0]
    y1 = region[1]
    width = region[2]
    height = region[3]

    region = x1, y1, width, height
    with mss.mss() as sct:
        return sct.grab(region)
        
def imagesearcharea(image, x1, y1, x2, y2, precision=0.8, im=None):
    if im is None:
        im = region_grabber(region=(x1, y1, x2, y2))
        if is_retina:
            im.thumbnail((round(im.size[0] * 0.5), round(im.size[1] * 0.5)))

    img_rgb = np.array(im)
    img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
    template = cv2.imread(image, 0)
    if template is None:
        raise FileNotFoundError('Image file not found: {}'.format(image))

    res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
    if max_val < precision:
        return [-1, -1]
    return max_loc

我的mss版本是6.1,python是3.7,使用Windows10你有什么解决方案吗,或者你知道替代mss的库吗?

EN

Stack Overflow用户

发布于 2021-07-29 16:26:19

经过几个小时的调查,我没有找到任何解决方案来使它工作。如果使用mss.grab,接口为grab( region ),其中region为(x,y,width,length)。因此,x1 + width不应该大于屏幕分辨率,就像我的示例中的情况一样。

然而,考虑到这些信息,它仍然不起作用,所以我决定转移到另一个名为PIL的库中。我换了这个

代码语言:javascript
运行
复制
with mss.mss() as sct:
    sct.grab(region)

通过这个

代码语言:javascript
运行
复制
ImageGrab.grab(bbox)

至少它还能用

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68570645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档