Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Open source 开源HDR库建议_Open Source_Opencv_Hdrimages - Fatal编程技术网

Open source 开源HDR库建议

Open source 开源HDR库建议,open-source,opencv,hdrimages,Open Source,Opencv,Hdrimages,所以我正在做一些与高动态范围成像(HDRI)相关的研究。我已经在OpenCV中完成了一些与对齐和重影移除相关的工作(还没有实际的HDR操作或创建),现在我希望能够开始使用HDR图像 有谁能推荐一个好的开源HDR库,让我理想地做到以下几点: 读/写一个HDR格式(我还没有对特定的格式做出承诺,所以我愿意接受这里的建议) 组合曝光括号内的图像以获得HDR图像,但方式允许我访问创建的相机功能,以便我以后可以使用它来做一些事情,例如使用不同数量的EB图像来贡献HDR图像的不同部分 与OpenCV的接口

所以我正在做一些与高动态范围成像(HDRI)相关的研究。我已经在OpenCV中完成了一些与对齐和重影移除相关的工作(还没有实际的HDR操作或创建),现在我希望能够开始使用HDR图像

有谁能推荐一个好的开源HDR库,让我理想地做到以下几点:

  • 读/写一个HDR格式(我还没有对特定的格式做出承诺,所以我愿意接受这里的建议)

  • 组合曝光括号内的图像以获得HDR图像,但方式允许我访问创建的相机功能,以便我以后可以使用它来做一些事情,例如使用不同数量的EB图像来贡献HDR图像的不同部分

  • 与OpenCV的接口相对容易(详情见下文)

如果它是一个允许与OpenCV轻松接口的库,那将是理想的。我认为OpenCV中目前没有任何HDR功能,但是有人能告诉我是否有一种方法可以将HDR图像转换为OpenCV算法(如修复)可以使用的格式吗?例如,我知道OpenCV可以处理64位浮点图像;我可以将HDR图像转换为这些格式之一并使用它运行吗


谢谢。

我想说转换可能是最简单的。我将查看imagemagick()库进行转换。

我使用FreeImage库加载HDR图像(该库支持大多数原始相机格式、浮点图像类型和48bpp、64bpp图像)


然后我在C++中做了一个转换器类,它可以从FrimeCype类型的图像转换成OpenCV,反之亦然。FreeImage还提供了色调映射转换,可以将HDR图像转换为32bpp图像。

嘿,我很久以前问过这个问题,刚刚在谷歌上又碰到了我的问题,所以我想我应该提供一个快速更新

我用Magick++尝试了图像Magick。经过一段时间的工作,我成功地使其使用OpenEXR格式,但始终无法使Radiance(.hdr)工作,这是一个遗憾,因为我在MATLAB中做了大量工作,MATLAB只读取/写入Radiance for hdr

接下来,我尝试了FreeImage。我能够用它读/写hdr和PFM格式,但我发现Fibitmap格式非常封闭,即很难将数据从Fibitmap获取到OpenCV Mat中,并且几乎不可能将其返回到Fibitmap中


最后,我刚开始使用便携式浮点映射(PFM),并用自己的代码读写它们,因为格式非常简单。同样,这是在一个研究环境中,所以虽然PFM对于长期存储或商业用途来说是一种相当笨拙的格式,但对于研究目的来说,它是相当不错的

嘿,这很有帮助。你对恢复相机功能有什么建议吗?我相信这可以用PFSTOOL来做,但我还没有机会用它们来做实验。谢谢。把不同曝光的多张照片组合起来怎么样?你找到这个的图库了吗?