我正在使用 Image.point 和 Image.fromarray 对图像执行完全相同的操作,将所有像素的值一起增加相同的值。问题是我得到了完全不同的图像。
使用点
def getValue(val):
return math.floor(255*float(val)/100)
def func(i):
return int(i+getValue(50))
out = img.point(func)
使用数组和 numpy
arr = np.array(np.asarray(img).astype('float'))
value = math.floor(255*float(50)/100)
arr[...,0] += value
arr[...,1] += value
arr[...,2] += value
out = Image.fromarray(arr.astype('uint8'), 'RGB')
我正在使用相同的图像(jpg)。
初始图像
带点的图像
带有数组的图像
他们怎么会有这么大的不同?