Как читать данные изображения из .cr2 в C ++?

Как читать данные изображения из .cr2 (необработанный формат изображения Canon) в C ++?

Единственная операция, которую мне нужно выполнить, — это непосредственное чтение данных пикселей файла .cr2, если это возможно, в противном случае я хотел бы преобразовать его в любое изображение без потерь и прочитать данные его пикселей.

Какие-либо предложения?

1

Решение

Я бы тоже пошел с ImageMagick. Вам не нужно конвертировать все ваши файлы заранее, вы можете делать их по одному, когда вам это нужно.

В вашей программе вместо открытия CR2 файл, просто открой трубу (popen() вызов), который выполняет команду ImageMagick, как

convert file.cr2 ppm:-

тогда вы можете прочитать чрезвычайно простой формат PPM, который описан Вот — в основном это просто строка текста ASCII, которая сообщает вам тип файла, затем другая строка текста ASCII, которая сообщает вам размеры изображения, затем максимальное значение и затем данные в двоичном виде.

Позже вы можете использовать библиотеку ImageMagick и API, если вам это нужно.

0

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


По вопросам рекламы [email protected]