Tengo que lidiar con archivos JPEG CMYK extraídos de una fuente PDF. Los PDF se crearon con Photoshop.
El problema es que Photoshop almacena datos JPEG CMYK en PDF / EPS utilizando valores "normales", mientras que en JPEG independientes almacena valores invertidos. Por lo tanto, cuando las secuencias DCTDecode se extraen por bytes y se escriben en el disco, los archivos JPEG resultantes aparecen invertidos.
(La extracción real se realiza mediante una utilidad interna, que simplemente extrae los bytes de la secuencia DCTDecode y los escribe, sin modificar, en un archivo que termina en .jpg
Es básicamente un copiar y pegar binario. Los archivos PDF están disponibles para volver a proceso, si fuera necesario).
Como las imágenes deben permanecer en su formato JFIF, ¿hay alguna forma de colocar un marcador en el .jpg
archivo extraído para que Photoshop lo abra con la codificación adecuada? El proceso debe ser sin pérdidas (no implica más codificación de entropía).
Los archivos JPEG ya contienen el APP14
marcador, y eliminarlo no tiene ningún efecto.
A continuación hay una cita de los libjpeg
documentos:
"... parece que Adobe Photoshop escribe datos invertidos en archivos CMYK JPEG: 0 representa el 100% de cobertura de tinta, en lugar del 0% de tinta como cabría esperar ... Photoshop 3.0 [y más reciente] ... escribe YCCK no invertido en archivos EPS / JPEG ... (Pero la polaridad de datos utilizada en archivos JPEG desnudos no cambiará ...) "
Respuestas:
Aquí en los foros de Adobe hay un mismo problema con resultados exitosos: http://forums.adobe.com/message/4271028
¿Quizás la etiqueta APP14 no es correcta? Hay más en las etiquetas APP14 que solo estar allí. En etiquetas JPEG: http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/JPEG.html#Adobe
JPEG Adobe Tags
El segmento APP14 "Adobe" almacena información de codificación de imágenes para filtros DCT. Este segmento puede copiarse o eliminarse como un bloque usando la etiqueta Extra "Adobe", pero tenga en cuenta que no se elimina de forma predeterminada al eliminar todos los metadatos porque puede afectar la apariencia de la imagen.
Pero eso podría no ayudar, recuerdo a alguien que dijo que estos marcadores privados no están destinados a guiar a los lectores de PDF, sino que deberían ser arreglos de decodificación adecuados.
La magia parece ser
que invertiría el mapeo de color. (Supongo que eso es una bandera en libjpeg, algo similar debería estar disponible en cualquier herramienta similar). Las matrices de decodificación son comunes en los PDF de acuerdo con la referencia en PDF aquí: http://partners.adobe.com/public/developer/en/pdf /PDFReference.pdf
No tengo ni idea de si puede agregar estas matrices de decodificación en archivos PDF JPEG o si necesita agregarlas al procesamiento continuo de su herramienta interna. No tengo un PDF de ejemplo en el que trabajar, así que no puedo investigar más (también, la referencia es enorme, tl; dr, pero es posible que tengas que ...)
fuente
/Decode
en[1 0 1 0 1 0 1 0]
.(Descargo de responsabilidad: no tengo una imagen para probar; si pudiera compartir dicha imagen en un sitio para compartir archivos, puedo probar y hacer ajustes para responder si es necesario).
Lo más probable es que el problema esté relacionado con la falta del perfil ICC.
Para incrustar (o convertir) dicho perfil, puede usar f.ex. ImageMagick para hacer esta pérdida de archivos sin afectar los datos.
ImageMagick:
http://imagemagick.org/script/index.php
La utilidad de línea de comandos se puede usar como esto para incrustar un perfil ICC:
Opcionalmente conviértalo a espacio de color RGB nativo.
Ver aquí para más detalles:
http://www.imagemagick.org/Usage/formats/#color_profile
Puede descargar los perfiles ICC desde aquí:
http://www.adobe.com/support/downloads/detail.jsp?ftpID=4074
fuente