Невозможно изменить глубину канала файла EXR с помощью ImageMagick с openEXR - PullRequest
0 голосов
/ 28 января 2019

Я хочу преобразовать 16-битное (HALF) изображение exr в 32-битное изображение exr.Я пытаюсь сделать это, используя ImageMagick, созданный с openEXR, но я не могу сделать то же самое.

У меня есть Build ImageMagick-7.0.8-23-Q8-windows-x64-static с флагом HDRIвключен.Я использую 16-битный RGBA EXR файл.Когда я запускаю команду ниже:

identifier -verbose "Desk.exr"

Это дает глубину канала как 8 бит.

Формат: EXR (Большой динамический диапазон (HDR) *
Класс: DirectClass
Геометрия: 644x874 + 0 + 0
Единицы: Не определено
Цветовое пространство: RGB
Тип: TrueColorAlpha
Базовый тип: Не определено
Endianess: Undefined
Глубина: 8-битная
Глубина канала:
Красный: 8-битная
Зеленый: 8-битная
Синий: 8-битная
Альфа: 1-бит

Я попытался изменить его с помощью инструмента конвертирования, указав -depth 16 и 32, но он по-прежнему показывает глубину канала как 8 бит.

int main () {

Magick::InitializeMagick("");

Magick::Image image;
Magick::Image image2;
Magick::Image image3;
try {
     // Read a file into image object 
    image.read("D:\\IR\\EXR_Support\\Images\\Desk.exr");
            //Set bit to 32
    image.depth(32);
            image.channelDepth(MagickCore::RGBChannels,32);
            image.write("D:\\IR\\EXR_Support\\Images\\Desk_32Bits.exr");

    }
catch (Magick::Exception &error_)
{
    cout << "Caught exception: " << error_.what() << endl;
    return 1;
}
    return 0;

}

Я проверил глубину канала выходного файла, который я установил 32-битный, но он также показывает:
Глубина: 8-битный
Глубина канала:
Красный: 8-битный
Зеленый: 8-битный
Синий: 8-битный
Альфа: 1-битный

Я построил imagemagick с 8-битным Quantum иЯ ожидаю, что это должно работать для 16 и 32 бит.

1 Ответ

0 голосов
/ 28 января 2019

Квантовая глубина, также известная как Q , указывается во время компиляции.Вы не можете увеличить его во время выполнения.

Если вы хотите обрабатывать 32-битные изображения, вам нужно будет перекомпилировать с 32-битной квантовой глубиной.

...