天天看点

使用python先后截两张图,并打印出两张图的差异图片

使用python先后截两张图,并打印出两张图的差异图片

一、思路:

  1. 需要python的包:PIL(Image、ImageGrab)、numpy、cv2、time
  2. 先截第一张图im1
  3. time.sleep(1) 睡眠1秒
  4. 截第二张图
  5. 将两张图转为数组形式,相减即为差异部分
  6. 将差异部分转为第三张图
  7. 使用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)
           

二、效果

使用python先后截两张图,并打印出两张图的差异图片
使用python先后截两张图,并打印出两张图的差异图片
使用python先后截两张图,并打印出两张图的差异图片