1
A
回答
2
要查找連續截圖之間準確的區別:
#!/usr/bin/env python
from PIL import ImageChops # $ pip install pillow
from pyscreenshot import grab # $ pip install pyscreenshot
im = grab()
while True: # http://effbot.org/zone/pil-comparing-images.htm
diff = ImageChops.difference(grab(), im)
bbox = diff.getbbox()
if bbox is not None: # exact comparison
break
print("bounding box of non-zero difference: %s" % (bbox,))
# superimpose the inverted image and the difference
ImageChops.screen(ImageChops.invert(im.crop(bbox)), diff.crop(bbox)).show()
input("Press Enter to exit")
0
一個直觀的解決方案可能是folllowing:
1) Take the bytes of the region you want to check for changes
2) Convert them to a string of bytes
3) Use an hash function from the hashlib module
4) Compare the obtained hash with the previous one
(if they're different something has changed)
這種方法檢測到任何變化也是在光照條件下,因此可能不是你想要的。但是這確實檢測到圖像部分中的ANY變化。
還有一些庫綁定,如PyOpenCV
,可以做到這一點,還有更多。
相關問題
- 1. 如何檢測屏幕上
- 2. 如何檢測屏幕方向更改? - Microsoft Surface上的JavaFX
- 3. 如何在Android上檢測身臨其境的屏幕更改
- 4. 我的XCode UI測試如何檢測到屏幕已更改?
- 5. 如何檢測屏幕上的變化?
- 6. Android透明屏幕檢測來自任何屏幕的手勢
- 7. 如何更改屏幕上的雪碧
- 8. 如何更改屏幕上的按鈕
- 9. 如何檢測主屏幕小部件中的方向更改?
- 10. 如何檢測Android屏幕方向已更改
- 11. 如何檢測SetForegroundWindow是否更改屏幕分辨率?
- 12. 在cocos2d中檢測觸摸*屏幕上的任何位置*
- 13. 在任何屏幕上檢測Windows Phone的觸摸事件
- 14. 如何檢測屏幕何時開啓?
- 15. JavaFX:如何在屏幕上的任何位置檢測鼠標/按鍵事件?
- 16. 如何更改屏幕中心的任何物體?
- 17. 檢測屏幕
- 18. 如何檢測IE上的類更改
- 19. VHDL - 如何檢測std_logic_vector上的更改?
- 20. 如何檢測UIPickerView上的更改?
- 21. 如何在刷新刷新後保持屏幕上的任何更改
- 22. 如何檢測手壓在Android屏幕
- 23. 如何只檢測CSS手機屏幕
- 24. xpages如何檢測IOS屏幕旋轉
- 25. 如何檢測屏幕是否連接?
- 26. 如何檢測屏幕旋轉?
- 27. 如何檢測視網膜屏幕?
- 28. 燒瓶 - 如何檢測小屏幕?
- 29. 如何檢測屏幕亮度或系統音量何時更改?
- 30. 如何捕捉屏幕和檢測屏幕信息
什麼GUI工具包是您使用? – Thayne
你到目前爲止嘗試過什麼?你的代碼是什麼?你正在使用哪個Python版本? – chill0r