使用python先后截两张图,并打印出两张图的差异图片
一、思路:
- 需要python的包:PIL(Image、ImageGrab)、numpy、cv2、time
- 先截第一张图im1
- time.sleep(1) 睡眠1秒
- 截第二张图
- 将两张图转为数组形式,相减即为差异部分
- 将差异部分转为第三张图
-
使用cv的imwrite(),无损压缩保存
注意:如果使用imsave()是有损压缩保存
代码部分:
#%%
import numpy as np
from cv2 import cv2
from PIL import ImageGrab,Image
import time
im1 = ImageGrab.grab()
im1.show()
time.sleep(1)
print("this is a test!")
im2 = ImageGrab.grab()
im2.show()
in1 = np.asarray(im1)
in2 = np.asarray(im2)
in3 = in2-in1
im3 = Image.fromarray(in3)
im3.show()
# 使用imwrite是无损压缩 但是issave是有损压缩
cv2.imwrite("./1.png",in1)
cv2.imwrite("./2.png",in2)
cv2.imwrite("./3.png",in3)
二、效果
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNCM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csMzaE1keBpmTwEleYhnRzwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYfRHelRHLwEzX39GZhh2css2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcuUzNzITOyATMxETNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)