SampleICC e IccXML
Viernes, 25 de Noviembre de 2011 15:49
SampleICC es un conjunto de librerías en C++ para la manipulación y operaciones perfiles de color ICC. Aunque se trata de un proyecto más o menos activo, no esta demasiado bien documentado, por lo que su aprovechamiento se presenta como especialmente tedioso.
Sin embargo experimentar un poco con SampleICC, quizás merezca la pena, para conocer sus posibilidades.
La web del proyecto se ubica en http://sampleicc.sourceforge.net/ y lo podemos descargar desde http://sourceforge.net/projects/sampleicc/. Para su uso, primeramente debemos crear los binarios a partir del código fuente. El proceso es sencillo:
Tras descargar el paquete SampleICC-1.6.4.tar.gz y descomprimirlo, por línea de comandos entramos en el directorio y ejecutamos la habitual secuencia de compilación:
cd SampleICC-1.6.4
./configure
make
make install
En un principio en mi leopard no he tenido problemas con el proceso. La instalación crea los binarios en el directorio /usr/local/bin/ ,por lo que dichas aplicaciones ya estarán disponibles desde la línea de comandos.
SampleICC esta compuesta por un buen número de herramientas, cada cual más específica y peor documentada. Algunas que me parecieron más relevantes son:
iccProfLibTest /ruta/a/mi/perfil.icc
Esta herramienta permite evaluar si un perfil de color ICC cumple el estándar, ver que etiquetas no están permitidas y editar el perfil en consecuencia.
Las posibilidades de iccProfLibTest son:
=======================================
0. Show Menu
1. Show Profile Header and Tag Table
2. Show tag contents
3. Add Tag
4. Save Profile and Exit
5. Validate Profile
6. Delete Tag
7. Save a copy of the profile.
9. Exit
=======================================
Si disponemos de una plataforma Windows, xa existe una aplicación llamada SampleICC Profile Dump Utility que se puede descargar desde http://www.color.org/wxProfileDump.zip y que nos permitirá realizar este tipo de validación de forma visual.
Otra herramienta es:
iccDumpProfile /ruta/a/mi/perfil.icc
La cual nos permite realizar un volcado de las etiquetas de nuestro perfil con un resultado parecido a este:
Profile: '/Users/jpereira/Library/ColorSync/Profiles/colorcheckerFinalCut.icc'
Profile ID: Profile ID not calculated.
Size: 44360(0xad48) bytesHeader
------
Attributes: Reflective | Glossy
Cmm: Argyll CMS
Creation Date: 11/24/2011 01:43:54
Creator: 'argl' = 6172676C
Data Color Space: RgbData
Flags EmbeddedProfileFalse | UseAnywhere
PCS Color Space: XYZData
Platform: Macintosh
Rendering Intent: Relative Colorimetric
Type: InputClass
Version: 2.20
Illuminant: X=0.9642, Y=1.0000, Z=0.8249Profile Tags
------------
Tag ID Offset Size
---- ------ ------ ----
profileDescriptionTag 'desc' 228 111
copyrightTag 'cprt' 340 47
mediaWhitePointTag 'wtpt' 388 20
mediaBlackPointTag 'bkpt' 408 20
AToB0Tag 'A2B0' 428 41818
charTargetTag 'targ' 42248 2111
Unknown 'DevD' = 44657644 'DevD' 42248 2111
Unknown 'CIED' = 43494544 'CIED' 42248 2111
Finalmente otra aplicación curiosa es la que nos permite convertir una imagen de un espacio de color a otro, la sintaxis es:
iccApplyProfiles src_img_path src_profile_path dest_profile_path dest_image_path {Rendering_intent}
SampleICC dispone e otras muchas herramientas curiosas como las que permiten integrar una LUT dentro de un perfil: create_lut_profile,create_CLUT_profile_from_probe, create_display_profile, flatten_AToB_tag, etc,....
IccXML
Esta herramienta me llamó tremendamente la atención, aunque sin embargo no he conseguido explotarla la 100%. Como el lector, ya habrá podido ir deducir, IccXML permite convertir un perfil ICC en un archivo XML y lo que parecía más interesante convertir un archivo XML en un perfil ICC, sin embargo esta operación, en mi Leopard, finaliza con un “Segmentation fault” lo cual me hace pensar en un problema de compatibilidad con mi sistema operativo.
Instalar IccXML en Mac Os X tiene algunas particularidades:
Requisitos:
1º Tener instalado Pkg-config: port -d install
2º Tener instalado libxml-2.0: port -d install libxml2
Para poder concluir nuestro make, con éxito debemos generar varios archivos de sampleICC ya que de lo contrario ./configure, no detectará la instalación de sampleICC
Para ello hacemos:
cp /usr/local/lib/pkgconfig/sampleicc.pc /usr/lib/pkgconfig/sampleicc.pc
cp /usr/local/lib/pkgconfig/sampleicc.pc /opt/local/lib/pkgconfig/sampleicc.pc
En este punto ya estamos en situación de hacer la rutina de compilación habitual:
./configure
make
make install
Tras este proceso ya disponemos en nuestra línea de comandos de:
icctoxml /ruta/a/mi/perfil.icc /ruta/a/mi/perfil.xml
iccfromxml /ruta/a/mi/perfil.xml /ruta/a/mi/perfil.icc
< Prev | Próximo > |
---|