Помимо поиска информации о цветовом пространстве в ICC-профиле , вы также можете просматривать теги метаданных EXIF.В частности, тег EXIF ColorSpace (0xA001) указывает sRGB, когда он равен 1. Другие значения не являются стандартными, согласно этого документа , но могут указывать другие цветовые пространства.Другим полезным тегом EXIF может быть InteropIndex (0x0001).
Вы можете проверить эти теги следующим образом:
from PIL import Image
img = Image.open('image.jpg')
def exif_color_space(img):
exif = img._getexif() or {}
if exif.get(0xA001) == 1 or exif.get(0x0001) == 'R98':
print ('This image uses sRGB color space')
elif exif.get(0xA001) == 2 or exif.get(0x0001) == 'R03':
print ('This image uses Adobe RGB color space')
elif exif.get(0xA001) is None and exif.get(0x0001) is None:
print ('Empty EXIF tags ColorSpace and InteropIndex')
else:
print ('This image uses UNKNOWN color space (%s, %s)' %
(exif.get(0xA001), exif.get(0x0001)))
Также, если ваши файлы приходят из папка DCIM (например,в цифровых камерах или смартфонах) цветовое пространство Adobe RGB может указываться именем, начинающимся с символа подчеркивания (например, _DSC
) или имеющим расширение, отличное от JPG
(например, JPE
).
ЕслиЦветовое пространство вашего изображения до сих пор неизвестно, самым безопасным считается только sRGB.Если позже пользователь узнает, что изображение выглядит слишком тусклым или тусклым, он может просто просмотреть изображение в других цветовых пространствах, и это, вероятно, сделает изображение более насыщенным.