Сначала рассмотрим этот код:
from PIL import Image
im = Image.open("best_tt.jpg")
im2 = Image.new("RGB", im.size, (255,255,255))
b = 200
for i in range(im.size[0]):
for j in range(im.size[1]):
rgb = im.getpixel((i,j))
if rgb[0] <= b and rgb[1] <= b and rgb[2] <= b:
im2.putpixel((i,j), (0,0,0))
else:
im2.putpixel((i,j), (0, rgb[1], rgb[2]))
im2.save("tmp.jpg")
Я просто удаляю компонент RED из каждого пикселя (кроме черных пикселей: if оператор проверяет пиксели, которые выглядят черными) .Другими словами, я конвертирую данное изображение в желтую шкалу (так как G + B = Y).
Таким образом, каждый пиксель должен иметь значение RGB, например (0, G, B).
Однако некоторые пиксели нового изображения возвращают значения, такие как:
- (1, 255, 203)
- (3, 205, 243)
- (16, 242, 47)
, хотя некоторые имели красныйкомпонент как 0.
Что вызывает произвольную настройку значений RGB?