将屏幕截图加载到内存中以进行CV模板匹配的最快方法

时间:2012-01-15 10:02:11

标签: python opencv computer-vision

在ubuntu 11.10中,使用python截取屏幕截图并将屏幕截图转换为与this question兼容的关于图像模板匹配的格式的最快方法是什么?

1 个答案:

答案 0 :(得分:4)

xpresser是一个在ubuntu中运行的项目,它也使用opencv。在xutils module中有一个截取屏幕截图的功能:

def take_screenshot(x=0, y=0, width=None, height=None):
    window = gtk.gdk.get_default_root_window()
    if not (width and height):
        size = window.get_size()
        if not width:
            width = size[0]
        if not height:
            height = size[1]
    pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, width, height)
    pixbuf = pixbuf.get_from_drawable(window, window.get_colormap(),
                                      x, y, 0, 0, width, height)
    array = pixbuf.get_pixels_array()
    return Image("screenshot", array=array,
                 width=array.shape[1], height=array.shape[0])

我希望这会有所帮助。