Без потерь пакетное преобразование многих JPEG в sRGB? - Фотопедия
5 голосов
/ 15 ноября 2012

Недавно я наткнулся на кучу странных JPEG-файлов; вот один из них .

В Firefox 16.0.2 и ACDSee это выглядит намного более ярким:

1

Однако в Internet Explorer 9 / MS Paint / Paint.NET 3.5.10 (в Windows 7 64-bit) это выглядит довольно скучно по сравнению, и многие цвета также выглядят совершенно иначе:

2

Многие другие приложения также имеют проблемы с файлом. Вот изображение в CDisplay , например:

3

Браузер и приложение «Фотографии» по умолчанию на моем устройстве Android ICS отказываются даже отображать изображение. Кроме того, когда я попытался загрузить это здесь, я закончил с этим:

4

Хорошо, да ... Вот немного технической информации об изображении:

ExifTool Version Number         : 9.05
File Name                       : numeat_pg1.jpg
Directory                       : .
File Size                       : 1281 kB
File Modification Date/Time     : 2012:11:14 06:48:45+05:30
File Access Date/Time           : 2012:11:14 06:48:45+05:30
File Permissions                : rw-rw-rw-
File Type                       : JPEG
MIME Type                       : image/jpeg
JFIF Version                    : 1.02
Exif Byte Order                 : Little-endian (Intel, II)
Compression                     : LZW
Photometric Interpretation      : CMYK
Orientation                     : Horizontal (normal)
Samples Per Pixel               : 4
X Resolution                    : 300
Y Resolution                    : 300
Planar Configuration            : Chunky
Resolution Unit                 : inches
Software                        : Adobe Photoshop CS3 Macintosh
Modify Date                     : 2009:11:24 11:39:46
Color Space                     : Uncalibrated
Exif Image Width                : 753
Exif Image Height               : 1130
Thumbnail Offset                : 424
Thumbnail Length                : 8043
Current IPTC Digest             : 460cf28926b856dab09c01a1b0a79077
Application Record Version      : 2
IPTC Digest                     : 460cf28926b856dab09c01a1b0a79077
Displayed Units X               : inches
Displayed Units Y               : inches
Global Angle                    : 30
Global Altitude                 : 30
Copyright Flag                  : False
Photoshop Thumbnail             : (Binary data 8043 bytes, use -b option to extract)
Photoshop Quality               : 10
Photoshop Format                : Standard
Progressive Scans               : 3 Scans
XMP Toolkit                     : Adobe XMP Core 4.1-c036 46.276720, Mon Feb 19 2007 22:13:43
Document ID                     : uuid:86F2476580DADE118414CEB96D2C8252
Instance ID                     : uuid:87F2476580DADE118414CEB96D2C8252
Native Digest                   : 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;5845CA8BEE434E1A12E4DC06C8A7E272
Creator Tool                    : Adobe Photoshop CS3 Macintosh
Create Date                     : 2009:11:24 11:39:46-08:00
Metadata Date                   : 2009:11:24 11:39:46-08:00
Format                          : image/jpeg
Color Mode                      : CMYK
ICC Profile Name                : SWOP (Coated), 20%, UCR, 280%
History                         : 
Derived From Instance ID        : uuid:E269F3C87FDADE118414CEB96D2C8252
Derived From Document ID        : uuid:D2CA5D9C5DD0DE11B0D7B511ADC90DF9
Profile CMM Type                : ADBE
Profile Version                 : 2.1.0
Profile Class                   : Output Device Profile
Color Space Data                : CMYK
Profile Connection Space        : Lab
Profile Date Time               : 2009:03:25 15:57:18
Profile File Signature          : acsp
Primary Platform                : Apple Computer Inc.
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : none
Device Model                    : 
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82489
Profile Creator                 : ADBE
Profile ID                      : 0
A To B0                         : (Binary data 395328 bytes, use -b option to extract)
A To B1                         : (Binary data 395328 bytes, use -b option to extract)
A To B2                         : (Binary data 395328 bytes, use -b option to extract)
B To A0                         : (Binary data 291144 bytes, use -b option to extract)
B To A1                         : (Binary data 291144 bytes, use -b option to extract)
B To A2                         : (Binary data 291144 bytes, use -b option to extract)
Profile Copyright               : Copyright 2009 Adobe Systems Incorporated
Profile Description             : SWOP (Coated), 20%, UCR, 280%
Gamut                           : (Binary data 37009 bytes, use -b option to extract)
Media White Point               : 0.9642 1 0.82489
DCT Encode Version              : 100
APP14 Flags 0                   : [14]
APP14 Flags 1                   : (none)
Color Transform                 : YCCK
Image Width                     : 753
Image Height                    : 1130
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 4
Image Size                      : 753x1130
Thumbnail Image                 : (Binary data 8043 bytes, use -b option to extract)

Мне сообщили, что все эти проблемы связаны с тем, что изображение не использует стандартный цветовой профиль Windows / Mac sRGB . Поиск в сети привел меня к этому вопросу , который, кажется, является полной противоположностью того, чего я хочу достичь. Поэтому я решил спросить и здесь.

У меня нет планов распечатывать эти изображения, и у меня нет доступа к Photoshop. Как я могу преобразовать все изображения JPEG в sRGB, надеюсь, без дальнейшей потери качества? Есть ли какая-нибудь бесплатная портативная программа командной строки (крайне предпочтительная) или программа с графическим интерфейсом, которую я могу использовать для простого и без потерь пакетного преобразования многих JPEG в sRGB?

Ответы [ 3 ]

10 голосов
/ 15 ноября 2012

Обычно программное обеспечение для просмотра отвечает за преобразование цветового пространства файла в цветовое пространство дисплея. Насколько я понимаю, вы хотите сделать преобразование самостоятельно, потому что вы используете программы, которые просто принимают sRGB в качестве цветового пространства.

Для этого конвертация без потерь невозможна. В правильно откалиброванной системе вы также усугубите ситуацию, поскольку при преобразовании в sRGB вы потеряете точность, а затем - при преобразовании в цветовое пространство монитора.

Nconvert может выполнить преобразование с потерями для вас:

nconvert -icc_out sRGB.icc -o <output-filename> <input-filename>

Предполагая, что все файлы находятся в одном каталоге, например, вы можете в Linux:

foreach x (*.jpg)
    nconvert -icc_out sRGB.icc -o $x:r_srgb.jpg $x

Для этого вам потребуется nconvert и профиль icc для sRGB .

В Windows вы будете использовать оператор FOR. Я считаю, что есть встроенная справка для получения правильного синтаксиса.

0 голосов
/ 27 октября 2014

Как уже было сказано, без потерь здесь не вариант. Чтобы минимизировать потери на протяжении всего рабочего процесса, вы можете использовать ArgyllCMS . Это бесплатная библиотека качества печати с открытым исходным кодом для преобразования цветов и других связанных с цветом вещей, таких как профилирование. У него есть утилита cctiff , которая обрабатывает преобразования цветового пространства для файлов TIFF и JPEG. Argyll поставляется с собственным профилем sRGB.icm.

Вот как вы можете использовать его в вашем случае:

cctiff -e sRGB.icm -ip source.jpg -ip sRGB.icm -p -q100 source.jpg sRGB_converted.jpg

-e sRGB.icm - для вставки профиля sRGB в выходной файл

-ip source.jpg - взять исходный профиль прямо из исходного файла и использовать намерение восприятия

-ip sRGB.icm - конвертировать в sRGB, используя намерение восприятия

-p - использовать более точное преобразование с плавающей запятой (немного медленнее)

-q100 - для записи выходного JPEG-файла с качеством 100%.

Иногда использование относительного колориметрического намерения (-ir) дает лучший результат, Другой вариант - использовать похожую библиотеку, lcms2 .

В зависимости от качества и сжатия исходного файла вы можете обнаружить, что преимущества использования Argyll незначительны по сравнению с nconvert и другими утилитами. Чем выше качество источника, тем больше смысла использовать Argyll. Мониторы конечных пользователей обычно плохо откалиброваны и профилированы, поэтому цвет, который вы видите, может отличаться на разных мониторах, как, например, в магазинах, где продаются телевизоры - одна и та же трансляция выглядит совершенно по-разному на двух телевизорах, расположенных один напротив другого.

0 голосов
/ 27 октября 2014

Похоже, что изображение использует цветовую модель CMYK (в отличие от RGB). Помимо того, что ваше изображение конвертируется в sRGB и помечается как sRGB, вам также необходимо конвертировать его в RGB. Если вы сохраните результаты в формате PNG вместо JPG, дальнейшая потеря изображения на основе сжатия не будет вызвана.

...