1

我对 Stanford Lytro Light Field Archive 数据集有一些问题。在这个数据集中,它只提供 undemosaic png 文件(解码 Lytro ESLF)和元数据文件。

我想知道是否有任何方法可以将元数据应用于 png 并对其进行去马赛克,或者将它们合并在一起以恢复 png 文件。

任何建议将不胜感激

数据集的网站: http: //lightfields.stanford.edu/LF2016.html

我已经尝试使用“Matlab Light Field ToolBox”去马赛克,但本教程只展示了如何处理 .lfp 文件。

工具箱网址:https ://ww2.mathworks.cn/matlabcentral/fileexchange/49683-light-field-toolbox-v0-4

4

2 回答 2

1

我不知道这是否正确,但生成的图像看起来很合理。给定一个 numpy 格式的 ESLF 图像(从) n, m,选取从 offset 开始的每一个像素:s, teslf_imgcv.imread

for s in range(n):
    for t in range(m):
        view = eslf_img[s::n, t::m, ...]
        # do something with view

对于我遇到的所有 ESLF 图像,n = m = 14.

这纯粹是经验性的。我很欣赏意见和建议。

于 2020-03-18T09:19:23.500 回答
0

我从这里使用下面的 MATLAB 代码,你可以根据你想要的视图数量进行修改。Current Light Field Toolbox 提供读取 ESLf 文件的功能。从这里下载工具箱。除此之外,来自光场论坛:

png文件是去马赛克的原始图像,也称为lenslet图像,对应一组微图像;您可以通过将每个微图像中相同位置的像素放在一起以创建特定视点的渲染图像,以多视图子孔径图像的形式渲染此小透镜图像;所以,基本上你最后得到的和工具箱的输出是一样的。

% generates 14x14 views and saves only 8x8 of those
% uses light-field-MATLAB toolbox

folders = dir('/path/to/ESLF/images');
dirFlags =[folders.isdir];
subFolders = folders(dirFlags);
imgNo=0;

for k = 1 : length(subFolders)
    if subFolders(k).name ~= '.' | subFolders(k).name ~= '..'
        currfolder=fullfile('/path/to/ESLF/images',subFolders(k).name,'raw');
        fprintf("Working on : ")
        fprintf(currfolder);
        fprintf('\n')
        files = dir(fullfile(currfolder,'*.png'));
        for loop = 1:length(files)
            imgNo = imgNo + 1;
            file=files(loop).name;
            f = fullfile(currfolder,file);
            LF = LFReadESLF(f);
        
            viewsfoldername = '/path/to/save/views';
            newfolder=sprintf('%s/%d',viewsfoldername,imgNo);
            mkdir(newfolder)
            for i = 4:11
                for j = 4:11
                    view = squeeze(LF(j,i,:,:,1:3));
                    filename = fullfile(newfolder, sprintf('view_%d_%d_%d.png',imgNo,j,i));
                    imwrite(view, filename);
                end
            end
        end
    end
end

这是一个老问题,但是如果您有处理文件的经验,请告诉我您是否想出了其他方法。

于 2020-08-06T12:41:46.333 回答