Необработанные изображения и DCRaw в переполнении стека

Я хочу работать с изображениями RAW в C ++, поэтому я скачал уже скомпилированный исполняемый файл DCRaw. Я сам пытался скомпилировать, но получал ошибки. Поэтому я хочу иметь возможность читать необработанные изображения на C ++ и работать с ними. Каков был бы лучший способ сделать это? Должен ли я найти способ включить dcraw.c в мои проекты и вызывать функции для этого, или я должен получить доступ к файлу EXE с помощью функции system (…)?

0

Решение

Если вы не хотите манипулировать необработанными данными непосредственно в вашем приложении, тогда да, вы должны использовать уже существующую реализацию декодера необработанных изображений (например, dcraw, как вы сказали).

Вот что я бы сделал в порядке предпочтения:

  1. Сначала я бы попытался найти другой необработанный декодер изображений, который доступен в виде статической или динамической версии библиотеки, и ссылку на него (у dcraw есть только исполняемый файл).

  2. Если № 1 невозможен, я извлеку соответствующие части dcraw в статическую библиотеку и сошлюсь на нее.

  3. Если это невозможно, я бы включил файл .c в мой код, как вы предложили.

  4. Я бы только выполнял EXE изнутри моей программы в качестве крайней меры.

При этом, если ваше приложение предназначено только для экспериментов, я не вижу ничего плохого в использовании dcraw EXE из вашей программы. Иначе я бы не стал делать это в профессиональном приложении.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector