代码拉取完成,页面将自动刷新
from PIL import ImageGrab
import hashlib
import time
def capture_and_hash_screen(x1=100, y1=100, x2=1000, y2=500, num_slices=5, slice_offset=10):
start = time.time()
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))
# 二值化图片
binary_image = screenshot.convert("L").point(lambda p: 0 if p < 150 else 255)
binary_image.show()
# 获取大截图的宽度和高度
screenshot_width, screenshot_height = screenshot.size
# 计算小图片的宽度(除以 num_slices 后再减去 slice_offset)
small_image_width = (screenshot_width // num_slices) - slice_offset
# 切割图片并计算哈希值
hashes = []
for i in range(num_slices):
left = i * (small_image_width + slice_offset)
right = left + small_image_width
small_image = binary_image.crop((left, 0, right, screenshot_height))
small_image.show()
image_byte_array = small_image.tobytes()
md5_hash = hashlib.md5(image_byte_array).hexdigest()
hashes.append(md5_hash)
print('截图并处理hash消耗了:%s 的时间' % (time.time() - start))
return hashes
if __name__ == "__main__":
captured_hashes = capture_and_hash_screen()
for i, hash_val in enumerate(captured_hashes, start=1):
print(f"Hash {i}: {hash_val}")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。