过了一段时间,我尝试了这里、这里、这里、这里和这里中的“提示”、“提示”、“猜测”和“试验”,甚至通过这里和其他方面给出的SO问题,并使用这里、这里和这里中的几个软件,我仍然无法找到一个函数示例E 210如何通过命令行转换DNG原始图像文件。
我不是寻找一个所有的情况解决方案,只是一个功能命令行的例子转换任何给定的DNG图像。
这是最好的,但是,很好,不要运行,因为“一个人会错过这个重要的一步”(谢谢!)
这不过是一个“提示”,在没有任何文件实际转换的情况下省略了。从这里开始,我无法进一步进行所需的适当转换(图像看起来太“暗”了)。
dcraw命令行程序需要一些“配置”(哪一个?)以避免颜色偏离,以及“阴影环从图片中心到外部”,同时将其tiff输出与适当的Adobe转换器进行比较,不幸的是,它不是命令行(命令行调用):
dcraw -T filename最好的函数不完整代码应该是一个简单的dngread函数,如下(Matlab ):
function img=dngread(filename,options)
%% READ DNG IMAGE FILES
% READ BASIC INFO
info = imfinfo(filename);
info.SubIFDs{1};
% READ COLOR FILTER ARRAY
warning off MATLAB:tifflib:TIFFReadDirectory:libraryWarning
t = Tiff(filename,'r');
offsets = getTag(t,'SubIFD');
setSubDirectory(t,offsets(1));
cfa = read(t);
close(t);
% LINEARIZATION TABLE
%curve = info.SubIFDs{1}.LinearizationTable
% DEMOSAIC COLOR FILTER ARRAY
options.filter='rggb'
img=demosaic(cfa,options.filter);
% Image in here looks "dark"
imshow(img);发布于 2017-09-01 21:40:16
您可以尝试这个函数。
function [rawData, tinfo]= loadDNG(dngFilename)
if(exist(dngFilename,'file'))
tinfo = imfinfo(dngFilename);
t = Tiff(dngFilename,'r');
rawData = t.read();
t.close();
else
if(nargin<1 || isempty(dngFilename))
dngFilename = 'File';
end
fprintf(1,'%s could not be found\n',dngFilename);
rawData = [];
end
end为了测试它,我从这个网站下载了'L1004235.DNG‘,并将它放在与此函数相同的目录中。
rawData = loadDNG('L1004235.DNG'); % load it "functionally" from the command line
imtool(rawData); % display it as proof of concept.引用:我基于您引用的这个博客帖子和help Tiff将这些代码放在一起。
发布于 2017-09-04 21:25:14
raw2dng做你想要的- Linux命令行工具来转换任何原始格式(包括。改为DNG/JPG/TIFF。
请注意,原始格式的转换/“开发”并不是一个定义明确的过程,您将通过不同的程序得到不同的结果。此外,照相机(尤指))将各种处理应用于其DNG中缺失的JPG (例如锐化)。
https://stackoverflow.com/questions/45992585
复制相似问题