基于Matlab的HDR到TIF

基于Matlab的HDR到TIF,matlab,hdr,Matlab,Hdr,早上好 我决定发布这个新线程,因为我不知道如何将hdr图像集转换为tif(我不知道是否也可以使用Matlab(通常,我使用ERDAS图像处理软件)。我尝试做以下工作: myFolder= 'G:\HDR\2' filePattern = fullfile(myFolder, '*.hdr'); hdrFiles = dir(filePattern); for k = 1:length(hdrFiles) baseFileName = hdrFiles(k).name; fullFile

早上好

我决定发布这个新线程,因为我不知道如何将hdr图像集转换为tif(我不知道是否也可以使用Matlab(通常,我使用ERDAS图像处理软件)。我尝试做以下工作:

myFolder= 'G:\HDR\2'
filePattern = fullfile(myFolder, '*.hdr');
hdrFiles = dir(filePattern);

for k = 1:length(hdrFiles)
  baseFileName = hdrFiles(k).name;
  fullFileName = fullfile(myFolder, baseFileName);

  hdr = hdrread(fullFileName);
  rgb = tonemap(hdr);
  hdrwrite (hdr, filename) % I don't know how to indicate .TIF on that part
end
Error using hdrread>readHeader (line 62)
Not a Radiance file.

Error in hdrread (line 29)
fileinfo = readHeader(fid);
我不知道如何将hdr文件转换为tif。执行此操作后,错误如下:

myFolder= 'G:\HDR\2'
filePattern = fullfile(myFolder, '*.hdr');
hdrFiles = dir(filePattern);

for k = 1:length(hdrFiles)
  baseFileName = hdrFiles(k).name;
  fullFileName = fullfile(myFolder, baseFileName);

  hdr = hdrread(fullFileName);
  rgb = tonemap(hdr);
  hdrwrite (hdr, filename) % I don't know how to indicate .TIF on that part
end
Error using hdrread>readHeader (line 62)
Not a Radiance file.

Error in hdrread (line 29)
fileinfo = readHeader(fid);
代码可能有问题,或者无法使用Matlab转换这些文件


提前感谢大家!任何帮助都将不胜感激!

对于JPEG,它是一种低动态范围格式。 因此,如果要创建高动态范围图像,则不希望将其保存为低动态范围格式。 您希望将其保存为可以包含完整动态范围(TIFF、PSD/PSB、EXR、HDR等)的格式

可以应用色调映射将HDR图像转换为LDR,然后将其另存为LDR格式。 但它不再是HDR图像。
如果您使用mac os,请尝试使用此编辑器,祝您好运!

编写hdr文件。您可以使用将hdr转换为RGB,并使用来编写tif文件。保存为tif后,您也将无法使用来打开该文件,因为它只会打开hdr文件。您需要使用。感谢您的帮助!我已经用该部分结束了代码(imwrite)(rgb,fullFileName))但我仍然收到相同的消息:不是辐射文件。hdrread(第29行)fileinfo=readHeader(fid)中的错误;第29行是您读取hdr文件的位置吗?如果是这样,您的hdr格式可能与Matlab的hdr格式不同。如何生成hdr图像?fmask工具似乎不会生成hdr图像。它的主要输出XXXFmask是一个识别陆地、水、雪和云的掩码。如果这是您试图保存的文件,我将如果你想制作hdr图像,我会试试。