ubuntu 11.10でPythonでスクリーンショットを撮って、画像テンプレートの一致についてthis questionと互換性のあるフォーマットにスクリーンショットを変換する最も速い方法は何ですか?CVテンプレートマッチングのためのスクリーンショットを読み込む最も速い方法
答えて
xpresserは、opencvも使用するubuntuで動作するプロジェクトです。
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])
私はこれが役に立てば幸い:xutils moduleでは、次のようにあるスクリーンショットを取る機能があります。
これは動作するかもしれないように見える、私は今それをテストしている。 =) –
これは実際には機能しません。 pixbuf.get_pixels_array()では、出力として「中断」して停止します。 –
それは変です。私はまた、Python 2.7.2-7ubuntu2とpython-gtk2 2.24.0-2でUbuntu 11.10を使用しています。 – jcollado
出発点はhttp://stackoverflow.com/questions/69645/take-a-screenshot-via-a-python-script-linuxを見ましたか?次に、OpenCV用の素敵なフォーマットに変換します。スピードについては、なぜそれが速くなる必要がありますか? – batbrat
@batbrat私は画像認識ボットを作っているので、スクリーンショットを処理するのに数秒かかったいくつかのソリューションと比べて、スピードが望ましいです。私はそれほど速いのであれば、亜秒をかけてニッピックするつもりはありません。 –