我想把16位(半) exr图像转换成32位exr图像。我正在尝试使用用ImageMagick构建的openEXR来完成它,但我无法做到这一点。
我已经构建了ImageMagick-7.0.8-23-Q8-windows-x64-静态的HDRI标志启用。我使用16位RGBA EXR文件。当我按照命令运行时:
识别-verbose "Desk.exr“
它给出的通道深度为8位。
格式: EXR (高动态范围)
班级: DirectClass
几何: 644x874+0+0
单位:未定义
色彩空间: RGB
类型: TrueColorAlpha
基本类型:未定义
恩迪内斯:未定义
深度:8位
航道深度:
Red: 8-bit Green: 8-bit Blue: 8-bit Alpha: 1-bit我试图通过指定-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位
航道深度:
Red: 8-bit Green: 8-bit Blue: 8-bit Alpha: 1-bit我已经建立了量子8位的映像,我期望它能工作16位和32位。
发布于 2019-01-28 11:15:42
量子深度。Q设置,在编译时指定。你不能在运行的时候增加它。
如果你想处理32位图像,你需要重新编译32位量子深度.
https://stackoverflow.com/questions/54399965
复制相似问题