首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用ImageMagick和openEXR更改EXR文件的通道深度

无法使用ImageMagick和openEXR更改EXR文件的通道深度
EN

Stack Overflow用户
提问于 2019-01-28 10:28:42
回答 1查看 496关注 0票数 1

我想把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位

航道深度:

代码语言:javascript
复制
 Red: 8-bit
代码语言:javascript
复制
 Green: 8-bit
代码语言:javascript
复制
 Blue: 8-bit
代码语言:javascript
复制
 Alpha: 1-bit

我试图通过指定-depth 16和32来使用转换工具来改变它,但它仍然显示通道深度为8位。

int main() {

代码语言:javascript
复制
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位

航道深度:

代码语言:javascript
复制
 Red: 8-bit
代码语言:javascript
复制
 Green: 8-bit
代码语言:javascript
复制
 Blue: 8-bit
代码语言:javascript
复制
 Alpha: 1-bit

我已经建立了量子8位的映像,我期望它能工作16位和32位。

EN

回答 1

Stack Overflow用户

发布于 2019-01-28 11:15:42

量子深度。Q设置,在编译时指定。你不能在运行的时候增加它。

如果你想处理32位图像,你需要重新编译32位量子深度.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54399965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档