Python grab(bbox)和Image.getpixel()一起使用

Python grab(bbox)和Image.getpixel()一起使用,python,python-3.x,python-imaging-library,Python,Python 3.x,Python Imaging Library,使用PIL.ImageGrab中的grab函数时,有一个名为bbox的参数,该参数指定屏幕抓取的边界框。当我想得到一个特定像素的值时,坐标应该是什么? 例如: im = ImageGrab.grab(bbox=(500, 500, 600, 700) print(im.getpixel(510, 510)) print(im.getpixel(10, 10)) 这两个陈述都给了我一个错误。我做错了什么?您犯了两个错误: 由于指定了边界框,因此生成的图像小于屏幕分辨率。边界框是一个(left\u

使用PIL.ImageGrab中的grab函数时,有一个名为bbox的参数,该参数指定屏幕抓取的边界框。当我想得到一个特定像素的值时,坐标应该是什么? 例如:

im = ImageGrab.grab(bbox=(500, 500, 600, 700)
print(im.getpixel(510, 510))
print(im.getpixel(10, 10))

这两个陈述都给了我一个错误。我做错了什么?

您犯了两个错误:

  • 由于指定了边界框,因此生成的图像小于屏幕分辨率。边界框是一个
    (left\u x,top\u y,right\u x,bottom\u y)
    元组,因此使用值
    (500500600700)
    ,图像的宽度为100像素,高度为200像素

    这解释了为什么
    im.getpixel(510510)
    不起作用-坐标510在图像之外

  • 将坐标作为
    (x,y)
    元组,而不是作为两个单独的参数。正确的语法是
    im.getpixel((10,10))


  • 您犯了两个错误:

  • 由于指定了边界框,因此生成的图像小于屏幕分辨率。边界框是一个
    (left\u x,top\u y,right\u x,bottom\u y)
    元组,因此使用值
    (500500600700)
    ,图像的宽度为100像素,高度为200像素

    这解释了为什么
    im.getpixel(510510)
    不起作用-坐标510在图像之外

  • 将坐标作为
    (x,y)
    元组,而不是作为两个单独的参数。正确的语法是
    im.getpixel((10,10))