Я хочу обрезать изображение и сохранить его, но проблема в том, что после сохранения того же формата изображение значительно меняет свой оттенок.Почему это происходит?Я даже не конвертирую это в процессе.
Вот мой код:
def square_crop(resized_image):
print "square crop"
width, height = resized_image.size
print width,height
edge_length = 3600
if(width >= height):
print("width>=height")
left = (width - edge_length)/2
top = (height - edge_length)/2
right = (width + edge_length)/2
bottom = (height + edge_length)/2
squared_image = resized_image.crop((left, top, right, bottom))
squared_image.save('squared.png')
И запутанная часть в том, что этот код использует одно и то же изображение и сохраняет его без изменения оттенка, поэтому у функции обрезки должна быть проблема:
def image_resize(image):
print "image resize"
width, height = image.size
print width,height
if(width > 3601 and height > 3601):
print width, height
if(width >= height):
ratio = float(width)/float(height)
w = 3601 * ratio
h = 3601.0
print ratio, w, h
resized_image = image.resize([int(w), int(h)])
resized_image.save("resized.png")
else:
ratio = float(height)/float(width)
print(ratio)
w = 3601.0
h = 3601 * ratio
print ratio, w, h
resized_image = image.resize([int(w), int(h)])
resized_image.save("heic1509a_resized.png")
* РЕДАКТИРОВАТЬ: Когда я импортирую файл .jpg и сохраняю в .jpg, обе функции имеют одну и ту же проблему оттенка.То же самое с .tif.
** РЕДАКТИРОВАТЬ: Также я заметил, что для некоторых изображений эта потеря красного цвета не происходит.Я действительно понятия не имею, что происходит.Я оставлю скриншоты до и после, чтобы убедиться в этом.
До - После
*** РЕДАКТИРОВАТЬ: Проблема отцветовое пространство, поскольку изображения, которые изменили цвет при сохранении, были закодированы с использованием цветового пространства ProPhoto RGB (ROMM RGB (эталонный выходной метрический показатель)).
Я использую gimp2, чтобы сначала преобразовать их в RGB без потери цвета, ноЯ хотел бы найти способ сделать это автоматически из Python.
Я буду публиковать любые новые обновления по этому вопросу.