Как загрузить изображение cmyk с помощью c ++ или c # и изменить значения cmyk для каждого пикселя? - PullRequest
1 голос
/ 13 сентября 2011

Целый месяц я пытался выяснить, как загрузить изображение cmyk (8-битный формат tiff) и выполнить преобразования UCA, UCR, GCR.

Я знаю формулы для этих преобразований, но у меня проблема с загрузкой образа cmyk с помощью C ++ или C #.

Мой план состоит в том, чтобы манипулировать изображением пиксель за пикселем и изменять каждое значение C, M, Y, K этого пикселя и, наконец, сохранять измененное изображение как 8-битное изображение tiff cmyk. Поэтому я хочу просмотреть каждый пиксель, внести изменения в значения cmyk и сохранить изображение.

У меня трудности с поиском и установкой такой библиотеки для C # или C ++, и я использую Visual Studio Express 2010 для обеих систем.

Какие библиотеки я могу использовать для загрузки этих изображений?

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

libtiff позволит вам манипулировать файлами TIFF.См. Также этот ответ о сборке libtiff с использованием Visual Studio.

Вам нужно будет читать изображение построчно, используя TIFFReadScanline, чтобы избежать преобразования в RGB библиотекой.Утилита open source tifftopnm делает это;его источник здесь - он использует pick_cmyk_pixel для преобразования данных в RGB после их получения, но, естественно, вы можете вместо этого просто подставить собственную логику.

0 голосов
/ 14 сентября 2011

EMGU - это оболочка ac # для opencv (c ++), любая из них позволит легко использовать и манипулировать файлами Tiff.Они позволят вам более легко получать доступ к пикселям и использовать высоко оптимизированный код.Поскольку это специализированные библиотеки обработки изображений, они позволят вам делать больше с вашим изображением, не беспокоясь о преобразовании RGB или чтении файла и т. Д.

Надеюсь, что они помогут,

Приветствия, Крис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...