2017-09-01 8 views
0

Après un certain temps, après avoir essayé les « conseils », « hint », « devine » et « procès » dans here, here, here, here et here, même à travers les données SO questions here et d'autres, et en utilisant plusieurs logiciels dans here, here et here, je ne suis toujours pas en mesure de trouver un exemple fonctionnel de la façon de convertir un fichier image brut DNG par la ligne de commande.ligne de commande Lire DNG Images

Je ne cherche pas de solutions complètes, juste un exemple de ligne de commande fonctionnelle qui convertit n'importe quelle image DNG.

This est le meilleur, mais, génial, ne pas courir parce que "on manquerait cette étape importante" (merci!).

ThisThis est rien d'autre qu'une "astuce", laissant de côté sans aucun fichier réellement converti. De là, je ne peux pas aller plus loin en faisant la conversion nécessaire (l'image semble trop "sombre"). Le programme de ligne de commande dcraw nécessite une certaine "configuration" (laquelle?) Pour ne pas avoir de déviation des couleurs, et une "ombre portée du centre de l'image vers l'extérieur", tout en comparant sa sortie tiff avec le bon Adobe Converter, ce qui est la ligne de commande malheureusement (appel en ligne de commande):

dcraw -T filename 

le meilleur code incomplet fonctionnel pour ce qui devrait être une simple fonction dngread est le suivant (code 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); 
+1

S'il vous plaît mettre à jour votre poste avec la vraie raison pour laquelle le "guide brut" n'a pas fonctionné pour vous; et gardez-le professionnel. – informaton

+0

Dans les deux méthodes, l'image est "assombrie". Je pense qu'il y a un filtre non-linéaire, une étape de démolition et une configuration de luminosité manquante. Lequel (si ce n'est tous) et/ou dans quel ordre est un mystère complet de toutes les références données. – hyprfrcb

Répondre

1

Vous pouvez essayer cette fonction

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 

Pour le tester, je l'ai téléchargé « L1004235.DNG » de cette website et l'a placé dans le même répertoire que cette fonction.

rawData = loadDNG('L1004235.DNG'); % load it "functionally" from the command line 
imtool(rawData);     % display it as proof of concept. 

Référence: Je mets ce code ainsi que la base de ce que vous faites référence à blog post et help Tiff.

+1

Si cela ne fonctionne pas, vous pouvez consulter le [guide brut] (http://www.rcsumner.net/raw_guide/) à nouveau. Il semble et semble que le script de l'auteur va charger les fichiers DNG très bien. Toutefois, plutôt que d'inclure commodément des fichiers d'exemple DNG, il pensait qu'il était important que les lecteurs s'entraînent à la conversion en .DNG. Puisque vous avez déjà des fichiers .DNG, ne pouvez-vous pas passer cette étape? – informaton

+0

Mais ce code est le même que j'ai déjà fait à partir de cette référence "tips"!, bien sûr sans la vérification si le fichier est là (on le sait). J'ai aussi inclus l'étape 'demosaic', mais l'image obtenue est beaucoup plus" sombre "que la scène réelle, et avec une ombre circulaire du centre. Donc le "conseil" donné est juste la partie triviale du problème. Et le code dans le "guide brut" ne fonctionne pas. Il échoue dans une multiplication entre un 'mxnx3' (l'image?) Par une matrice' nxn' (un filtre?), Même avec les données données (!). – hyprfrcb

+0

Je vais vérifier l'image donnée ..... – hyprfrcb

1

raw2dng fait ce que vous cherchez - Outil de ligne de commande Linux pour convertir n'importe quel format brut (y compris DNG) en DNG/JPG/TIFF.

Veuillez noter que la conversion/'développement' de formats bruts n'est pas un processus bien défini - vous obtiendrez des résultats différents avec différents programmes. De plus, les caméras (en particulier celles des téléphones portables) appliquent toutes sortes de traitements à leur JPG (par exemple, l'accentuation) qui manque dans leurs DNG.

+1

Reposant cela sous une forme légèrement plus courte, car il répond à la question, mais le message original a été supprimé. – Fimagena

+0

Le post précédent était vraiment complet je pense ... Bien que je ne suis pas encore sûr si cet outil fonctionne (je dois l'essayer :)) – hyprfrcb

+0

Ce projet ne compile pas ....... Y at-il un exécutable construit? – hyprfrcb