写一个python代码,实现两张图片像素级的变化检测
时间: 2023-05-27 19:06:41 浏览: 110
这里是一个可能符合要求的 Python 代码:
```python
from PIL import Image
# 读取原始图片和修改后的图片
img1 = Image.open('img1.png')
img2 = Image.open('img2.png')
# 将图片转换为 RGB 模式
img1 = img1.convert('RGB')
img2 = img2.convert('RGB')
# 获取图片尺寸
width, height = img1.size
# 定义变化像素数目
diff_pixels = 0
# 循环遍历每个像素点
for x in range(width):
for y in range(height):
# 获取两张图片对应像素点的 RGB 值
r1, g1, b1 = img1.getpixel((x, y))
r2, g2, b2 = img2.getpixel((x, y))
# 如果两个像素点的 RGB 值不同,则说明有变化
if r1 != r2 or g1 != g2 or b1 != b2:
diff_pixels += 1
# 打印变化像素数目
print('变化像素数目:', diff_pixels)
```
以上代码会读取两张名为 `img1.png` 和 `img2.png` 的图片,并比较它们的每个像素点的 RGB 值是否相同,如果不同则说明有变化。最终输出变化的像素数目。注意,这种方法只能检测每个像素点的 RGB 值是否相同,如果两张图片的像素点虽然 RGB 值相同但是颜色不同(比如一个是红色的像素点,另一个是绿色的像素点),则这种方法无法检测出来。
阅读全文