準備兩張不同的圖片
-
原圖
瀑布-200x300.jpg -
修改后(在左下角增加了文字)
瀑布改-200x300.jpg
比較不同
- 使用PIL(Pillow library)庫
安裝pip install pillow
,然后直接用其中的ImageChops
函數(shù)
from PIL import Image
from PIL import ImageChops
def compare_images(path_one, path_two, diff_save_location):
"""
比較圖片,如果有不同則生成展示不同的圖片
@參數(shù)一: path_one: 第一張圖片的路徑
@參數(shù)二: path_two: 第二張圖片的路徑
@參數(shù)三: diff_save_location: 不同圖的保存路徑
"""
image_one = Image.open(path_one)
image_two = Image.open(path_two)
diff = ImageChops.difference(image_one, image_two)
if diff.getbbox() is None:
# 圖片間沒有任何不同則直接退出
return
else:
diff.save(diff_save_location)
if __name__ == '__main__':
compare_images('/path/to/瀑布.jpg',
'/path/to/瀑布改.jpg',
'/path/to/不同.jpg')
-
結(jié)果,底部的不同被顯示出來了
不同-200x300.jpg
其它
- Python Pillow official website
- Pillow documentation
- An Intro to the Python Imaging Library / Pillow