要用Python找出两张图片之间的区别,一般就需要比较两张图片中每个像素的RGB值,然后将不同的像素标记出来。下面是Python找出两张图片的区别的完整攻略。
Step 1: 安装必要的Python库
首先需要安装Python的图像处理库 pillow
,可以用以下命令进行安装:
pip install pillow
Step 2: 加载图片
使用 pillow
库中的 Image
模块,可以很容易地将图片加载进Python中,代码如下:
from PIL import Image
img1 = Image.open('image1.jpg')
img2 = Image.open('image2.jpg')
这里我们假设要比较两张名为 image1.jpg
和 image2.jpg
的图片。
Step 3: 比较图片
我们可以使用 numpy
库将两张图片转换为数组,然后使用数组操作比较两张图片。
import numpy as np
arr1 = np.array(img1)
arr2 = np.array(img2)
diff = arr1 - arr2
这样操作后,得到的 diff
数组中每个元素表示了两张图片相差的像素值,可以通过该数组找到每个差异像素的位置。
Step 4: 可视化结果
为了更加直观地展示两张图片之间的区别,可以将差异像素用红色标记出来,然后将结果保存至新的图片中。
diff[diff != 0] = 255
diff_img = Image.fromarray(diff.astype(np.uint8))
diff_img.save('diff.jpg')
这里我们将差异像素的值设置为255,表示用红色来标记。将结果保存至名为 diff.jpg
的新图片中。
示例说明
以下是用Python比较两张图片的一个示例:
from PIL import Image
import numpy as np
img1 = Image.open('image1.jpg')
img2 = Image.open('image2.jpg')
arr1 = np.array(img1)
arr2 = np.array(img2)
diff = arr1 - arr2
diff[diff != 0] = 255
diff_img = Image.fromarray(diff.astype(np.uint8))
diff_img.save('diff.jpg')
运行该代码之后,会得到一张名为 diff.jpg
的新图片,其中红色标记的地方表示两张图片不同。
另一个示例是比较两张PNG格式的图片:
from PIL import Image
import numpy as np
img1 = Image.open('image1.png')
img2 = Image.open('image2.png')
arr1 = np.array(img1)
arr2 = np.array(img2)
diff = arr1 - arr2
diff[diff != 0] = 255
diff_img = Image.fromarray(diff.astype(np.uint8))
diff_img.save('diff.png')
这个示例与之前的示例类似,但需要注意到图片的格式不同。输出结果需要保存为 diff.png
。