私は、定期的にいくつかの事前定義された画像の1つを含む画面の特定の領域のスクリーンショットを取るpyscreenshotを使用して、Pythonでプログラムを作成しました。私はこれらの画像をファイルからリストに読み込み、スクリーンショットと比較して現在表示されているものを見たいと考えています。彼らは画面上にあったとして、最初のファイルは、画像をscreenshottingによって作成された:私はそれらを比較しようとするとpyscreenshotで撮影したスクリーンショットと保存したスクリーンショットを比較するにはどうすればよいですか?
while True:
filenm = str(i) + ".png"
im=ImageGrab.grab(bbox=(680,640,735,690)) #accross, down
im.save(filenm)
time.sleep(1)
i = i + 1
は、その後、それは常にfalseを報告します。
image2 = Image.open("04.png")
im=ImageGrab.grab(bbox=(680,640,735,690)) #accross, down
if im == image2:
print "TRUE"
else:
print "FALSE"
ただし、ファイルに保存した画像のうちの2つを比較します作品:
image = Image.open("03.png")
image2 = Image.open("04.png")
if image == image2:
print "TRUE"
else:
print "FALSE"
は、だから私の質問はどのように画像が一度ファイルからロード異なりますされ、どのように私は、ファイルからロードされたイメージで「ライブ」のスクリーンショットを比較することができますか?
これは私が必要とするものに近いようですが、1秒間に1つのスクリーンショットを保存し、同じ比較ファイルを何度も読み込む必要があるため、比較のために2つのファイルを読み込まないようにしています。 PIL.Image.ImageとPIL.pngImagePlugin.PngImageFileを使って作業する必要があります。 –