Traitement des négatifs couleurs avec Affinity Photo

Démarré par frmfrm, Décembre 26, 2019, 20:50:35

« précédent - suivant »

frmfrm

Voila un petit truc que j'ai mis en place pour développer des négas couleurs avec Affinity Photo.

J'utilise un scanner Epson 3170 en mode raw, cad que je scanne en mode "Positif couleur" et que dans les paramètres de l'onglet "couleur" j'ai choisi d'utiliser "aucune correction de couleur".

Ensuite, je remonte l'image négative dans affinity photo et je lui attribue un profile "appleRGB" qui à un gamma de 1.8 proche celui de mon scanner.

Enfin le principal :

Se créer un filtre texture procédurale ( dans le menu "filtres/couleurs/texture procedurale" )

Utilise la formule suivante :

var g=vec3(1.8,1.8,1.8); var v1= pow(vec3(R,G,B),g) * vec3(0.21*(1-fr/4),0.81*(1-fg/4), 1.6*(1-fb/4)); (1-pow(v1*(1-lum)*10,1/g*(1+gamma/2))-0.5)*(1+2*con)+0.5

et cocher les canaux R G B

enfin, créer les variables :

fr, fb, fg, luminosity, contrast et gamma ( ce sont des variables de saisie de plage de [-1, 1] )

Ensuite, il ne reste plus qu'a jouer avec les curseur comme ci-dessous.

C'est une version beta :-), n'hésitez pas à laisser vos impressions sur l'utilisation du filtre dans ce fil.

frmfrm

Mince, p... de smiley ...

dans la formule , le bonhomme rigole remplace  "1.8 ) "

Sinon encore un  exemple avec un négatif de Superia Réala issu d'un modeste Diana tout plastique ( original) .

frmfrm

Voila une nouvelle formule qui déplace l'application du gamma après le contraste et qui a une nouvelle valeur par défaut. Ca me semble plus pratique ...

var g=vec3(1.8 ); var v1= pow(vec3(R,G,B),g) * vec3(0.21*(1-fr/4),0.81*(1-fg/4), 1.6*(1-fb/4)); pow((1-pow(v1*(1-lum)*10,1/g)-0.5)*(1+2*con)+0.5 ,vec3(1.6-gamma/1.5))

L'implémentation d'un curseur saturation ne me semble pas possible/simple. On peut quand même rajouter un calque de réglage TSI dans le process.

Ci-dessous, un exemple de dév. de Supéria Réala dans un flexaret VI...

frmfrm

#3
Bon ben le dernier truc avant d'aller au lit :-)

Pour traiter les négatifs noir et blanc, scanner les films comme précédemment et utiliser la formule suivante :

var g=vec3(1.8 ); var v1= pow(vec3(rgbtoi(1-R,1-G,1-B)),g); pow((pow(v1*(0.5+lum/1.2),1/g)-0.5)*(con+1)*3+0.5 ,vec3(1.6-gamma/1.5))

On ne conservera que les variables lum, con et gamma comme indiqué sur la capture ci-dessous.

Pour faire le kéké, j'ai rajouté dans le process une couche " Réglage courbes de transfert et dégradé", mais c'est po obligatoire :-)

frmfrm

Citation de: frmfrm le Décembre 27, 2019, 05:16:13

Pour traiter les négatifs noir et blanc, scanner les films comme précédemment et utiliser la formule suivante :
.....


En fait, ça n'est pas forcement vrai. Je scanne en raw et j'inverse le scan avant sauvegarde lorsque je travaille en noir et blanc. Ca permet de retrouver plus facilement les photos avec l'explorateur windows. Dans ce cas, la formule est la suivante :

var g=vec3(1.8 ); var v1= pow(vec3(rgbtoi(R,G,B)),g); pow((pow(v1*(0.5+lum/1.2),1/g)-0.5)*(con+1)*3+0.5 ,vec3(1.6-gamma/1.5))

Pour finir ce fil, une dernière tof au Kodak Retina II et Tri X développée avec Affinity Photo que j'aime de plus en plus ;-)


frmfrm

J'ai rajouté un bouton "mixage" qui permet de mixer la sortie avec une TRC en S ( sinusoidale toute simple).

Voir ci-dessous comment il est défini.

Formule pour les negs couleur :
var g=vec3(1.8 ); var v1= pow(vec3(R,G,B),g) * vec3(0.21*(1-fr/4),0.81*(1-fg/4), 1.6*(1-fb/4));  var v2=pow((1-pow(v1*(1-lum)*10,1/g)-0.5)*(1+2*con)+0.5 ,vec3(1.6-gamma/1.5)); var v3=smoothstep(vec3(0),vec3(1),v2);  scurveinterp(v2,v3,vec3(mixage))

Formule pour les negs BW :
var g=vec3(1.8 ); var v1= pow(vec3(rgbtoi(R,G,B)),g);   var v2=pow((pow(v1*(0.5+lum/1.2),1/g)-0.5)*(con+1)*3+0.5 ,vec3(1.6-gamma/1.5));  var v3=smoothstep(vec3(0),vec3(1),v2);  scurveinterp(v2,v3,vec3(mixage))

La photo en exemple est prise avec un Retina II et un film chinois que l'on ne trouve plus : l'ERA 100.

frmfrm

#6
J'ai encore rajouté des curseurs mais le calvaire touche à sa fin :-)

rshad, gshad et bshad permettent de corriger les dominantes dans les ombres.

la nouvelle formule :

var g=vec3(1.8 ); var v1= pow(vec3(R,G,B),g) * vec3(0.21*(1-fr/4),0.81*(1-fg/4), 1.6*(1-fb/4));  var v2=pow((1-pow(v1*(1-lum)*10,1/g)-0.5)*(1+2*con)+0.5 ,vec3(1.6-gamma/1.5)); var v3=smoothstep(vec3(0),vec3(1),v2);  var v4=scurveinterp(v2,v3,vec3(mixage)); v4*(1+(1-smoothstepsqi(vec3(0),vec3(0.8 ),v4))*vec3(rshad/1.5,gshad/1.5, bshad/1.5))
[Edit] Ci-dessous, une photo faite au Flexaret Std et de la Superia Reala.

smoothstep , scurveinterp , smoothstepsqi


frmfrm

Pour finir le WE, j'ai encore ajouté un curseur "offset" qui complète le curseur luminosité. L'un ajoute une valeur dans le domaine non linéaire, l'autre la multiplie dans le domaine linéaire.

J'ai aussi modifié l'efficacité de certains curseur.

Formule BW :
var g=vec3(1.8 ); var v1= pow(vec3(rgbtoi(R,G,B)),g);   var v2=pow(((pow(v1*(0.5+lum/10),1/g)+offset/20)-0.5)*(con+1)*3+0.5 ,vec3(1.6-gamma/1.5));  var v3=smoothstep(vec3(0),vec3(1),v2);  scurveinterp(v2,v3,vec3(mixage))

Formule Couleur :
var g=vec3(1.8 ); var v1= pow(vec3(R,G,B),g) * vec3(0.21*(1-fr/3),0.81*(1-fg/3), 1.6*(1-fb/3));  var v2=pow(((1-pow(v1*(1-lum)*10 ,1/g)+offset/2)-0.5)*(1+con)+0.5,vec3(1.6-gamma/1.5)); var v3=smoothstep(vec3(0),vec3(1),v2);  var v4=scurveinterp(v2,v3,vec3(mixage)); v4*(1+(1-smoothstepsqi(vec3(0),vec3(0.8),v4))*vec3(rshad,gshad, bshad))

Enfin, j'ai mis en ligne 2 fichiers à importer dans Affinity Photo pour ne pas avoir à rentrer toutes les variables à la main :

http://dl.free.fr/osALLedWI

Pour les importer, dans la fenêtre des textures procédurales,  menu Préréglages / Gérer les préréglages / Importer des préréglages.


Fred_G

Je ne comprends RIEN à ce que tu fais, mais je trouve ça très intéressant. Et comme je découvre Affinity, j'essaierai d'étudier tout ça après les fêtes.

Si ce n'est pas indiscret, qu'est-ce qui a motivé tes recherches ? Pourquoi as-tu développé tout ça plutôt que d'utiliser les logiciels connus de scan ?
The lunatic is on the grass.

Doc Henry

Beau travail . Merci pour les posts !
Ton scanner Epson a un logiciel d'usine  livré avec non ? ça donne quoi ?
J'avais un V700 et il y a Silver Fast livré en plus du logiciel scan de Epson
Bon réveillon
H

frmfrm

Merci à vous deux.

Je scanne effectivement avec 2 vieux Epson, un 2450 pour les PF et un 3170 pour le reste. Je fais principalement du noir et blanc et si j'ai eu à disposition vuescan et silverfast, j'ai bien vite arrêté de les utiliser. Je préfère  sauvegarder mes scans au niveau le plus bas possible, sans valeur ajouté par un logiciel. J'utilise donc Epson Scan sans gestion des couleurs. Pour jouer sur la luminosité des scans, je place du spun/des gélatines diffusantes lee filter dans la zone de calibration du scanner et cela me suffit pour sauvegarder des tif 16 bits. Après je retravaille les tif dans photoshop ou maintenant affinity.

Reste que la semaine dernière, je suis tombé sur un post de Joubert qui mentionnait le site d'Alex Burke et je suis tombé sur l'article suivant :

https://www.alexburkephoto.com/blog/2019/10/16/manual-inversion-of-color-negative-film

J'ai essayé la méthode sur Affinity , mais je n'ai pas été satisfait du process donc j'ai essayé d'améliorer le truc.

En modifiant 2 ou 3 constantes des formules que j'ai donné, on doit pouvoir adapter le développement au film, au scanner ( ou l'apn pour ceux qui font de la repro) et régler la sensibilité des curseurs.

Reste que l'on peut ensuite affiner le développement avec des fonctionnalités classiques d'Affinity.


Arnaud17

Sans en comprendre toutes les finesses je vois qu'Affinity sait prendre un fichier en sortie de scan et en faire une image plus que potable.
Dans le temps il y avait easyshare de polaroid qui permettait de redonner une santé aux diapos mais ce soft semble avoir sombré avec polaroid.
Perso, quand j'ai quelque chose à faire avec Affinity, je cherche sur youtube et je trouve, je n'ai pas encore été déçu.
Merci en tout cas pour les explications, c'est sympa de partager ton savoir.
veni, vidi, vomi

titisteph

Merci pour le partage, même si je ne pourrai jamais appliquer ta méthode (je ne numérise plus mes négatifs avec un scanner, je fais des repros avec APN), et celle que j'emploie me satisfait, même si elle est très difficile (c'est tout à l'oeil, et j'aurais bien aimé automatiser un peu le process, mais pas possible).

Je salue néanmoins le travail accompli , c'est sympa d'en faire profiter d'autres.

frmfrm

Merci aussi à vous deux.

Sinon, ça devrait aussi marcher un peu pour la repro.

Voila le résultat d'une repro faite à l'arrache avec appareil à main levé au 1/30,  bague allonge et négatif collé sur la vitre de mon bureau :-)

La seule différence avec mon scanner se situe au niveau des coefficients qui annulent le plus gros de la coloration du néga.

pour mon scanner :
var v1= pow(vec3(R,G,B),g) * vec3(0.21*(1-fr/3),0.81*(1-fg/3), 1.6*(1-fb/3));

pour la repro :
var v1= pow(vec3(R,G,B),g) * vec3(0.45*(1-fr/3),0.75*(1-fg/3), 1.1*(1-fb/3));

Le principal est de partir d'une base linéaire. Voir ici ( ne pas tenir compte de la partie calibration ) :

https://www.chassimages.com/forum/index.php/topic,298820.0.html

Puis il suffit d'attribuer le profil appleRGB à l'image développée pour ne pas partir d'une image trop saturée.

Si tu peux mettre en ligne un de tes raw sur free ( http://dl.free.fr ), je pourrais regarder si on peut arriver à quelque chose avec Affinity.

titisteph

Merci d'avoir essayé, ton système semble convaincant. Mais je préfère ne pas te fournir d'image, simplement parce que je ne veux pas te donner du travail, alors que je sais que je n'en aurai pas l'usage (je ne souhaite pas changer de logiciel).
Mais c'est bien que d'autres en aient connaissance.

frmfrm

Citation de: titisteph le Décembre 31, 2019, 14:02:00
... Mais je préfère ne pas te fournir d'image, simplement parce que je ne veux pas te donner du travail, alors que je sais que je n'en aurai pas l'usage (je ne souhaite pas changer de logiciel).

Y'a pas de blème ;-)

Jean-Claude

chapeau pour le gros boulot de paramétrisation dans Affinity  :)

frmfrm

Citation de: Jean-Claude le Décembre 31, 2019, 15:03:47
chapeau pour le gros boulot de paramétrisation dans Affinity  :)

Merci Jean-Claude.

Le gros boulot a surtout porté sur le décryptage des fonctionnalités d'Affinity car cette partie est très peu documentée. On a le nom des fonctions mais pas d'informations sur ce qu'elles permettent :-)

jbpfrance

Superbe, j'ai des plaques de verre et je viens d'acheter Affinity, je sais ce qu'il me reste à faire !

frmfrm

Pour faire suite à une discussion sur la section Leica, voici ma dernière version de filtre Texture Procédurale pour développer les négas couleur.

La formule à utiliser est la suivante :

var v1= (vec3(R,G,B)* vec3(0.97*(1-fr/3),2.12*(1-fg/3), 3.09*(1-fb/3))-offset/2)*(1-lum*2);  var v2=pow((0.5-v1)*(1+con/2)+0.5,vec3(1.5-gamma/1.2)); var v3=smoothstep(vec3(0),vec3(1),v2);  var v4=scurveinterp(v2,v3,vec3(mixage)); v4*(1+(1-smoothstepsqi(vec3(0),vec3(0.8),v4))*vec3(rshad*2,gshad*2, bshad*2))

Et l'exemple suivant montre les curseurs à créer.

Pour le développement procéder de la façon suivante :

1- Pousser vers la droite le curseur offset et descendre le curseur luminosité pour régler le contraste général ( on bosse sur un néga :-) ).
2 - Neutraliser la balance des blancs et le masque orange avec les curseurs  Rouge, vert et Bleu.
3 - régler la gradation de la photo avec les curseurs gamma et scurve.
4 - Affiner les dérives dans les BL avec les curseurs red shadows, green shadows et blue shadows..

Dans l'exemple ci-dessous, le néga est issu d'un Diana. Il est sous-exposé et des infos se trouvent dans le pied de courbe. Ces infos ne peuvent pas être corrigés avec les curseur RGB principaux sans changer la tonalité générale. Il faut utiliser les curseurs RGB shadows.

rico7578

Le rendu des couleurs obtenu est chelou tout de même je trouve non ?
Pas super convaincu par les résultats perso...
Et en noir et blanc, il suffit d'inverser la courbe des tonalités

titisteph

Moi non plus, je ne trouve pas que les résultats vaillent la peine de tout ce travail.

Mais bravo quand même!

frmfrm

Avez vous testé le bidule ? ;-)

Il me semble que le vrai résultat ne peut se juger qu'après essai car mes négatif couleurs sont vraiment pas terribles et difficiles à traiter.

Pour les négas NB, l'avantage peut effectivement ne se situer qu'au niveau de l'ergonomie, enfin il me semble, et là encore çà me semble difficile à juger sans tester ...

Enfin, ça n'est pas du travail, mais juste un amusement . Mon 2ème prénom est curiosité, et ce petit développement m'a servi de banc d'essai pour découvrir/analyser certains problèmes . Le temps passé me semble plutôt bien perdu mais effectivement, chacun perd son temps comme il l'entend ;-)

frmfrm

Une autre photo en exemple rapide ;-)

Le problème sur celle-ci, c'est que le terrain était lourd ( c'est pas le seul il parait )  et que je suis parti d'une photo 8 bits, mais surtout non linéaire . Le résultat n'est surement pas top , mais la photo mérite-t-elle beaucoup plus ;-)

rico7578

A gauche le résultat avec le plugin d'inversion de négatifs "NegativeLabPro" pour Lightroom, à droite ton résultat :



Y'a qd même pas photo, même si en effet, c'est pas la plus jolie image du monde ;)

frmfrm

Citation de: rico7578 le Février 28, 2020, 09:54:51
A gauche le résultat avec le plugin d'inversion de négatifs "NegativeLabPro" pour Lightroom, à droite ton résultat :



Y'a qd même pas photo, même si en effet, c'est pas la plus jolie image du monde ;)

Oui il y a une différence, mais il me semble que elle est liée au choix de l'operateur, pas du système :-)

Maintenant, si tu veux, je peux mettre à disposition mon scan de la rue de l'ile de ré , tu la passes dans ton plugin et on en reparlera,   Plus tard car là j'ai du boulot et l'impression de perdre mon temp.

rico7578

Citation de: frmfrm le Février 28, 2020, 11:10:24
Maintenant, si tu veux, je peux mettre à disposition mon scan de la rue de l'ile de ré , tu la passes dans ton plugin et on en reparlera,   Plus tard car là j'ai du boulot et l'impression de perdre mon temp.

En effet tout cela me fait aussi pas mal penser à une perte de temps... mais bon, chacun voit midi à sa porte comme on dit !

frmfrm

Citation de: rico7578 le Février 28, 2020, 12:48:36
En effet tout cela me fait aussi pas mal penser à une perte de temps... mais bon, chacun voit midi à sa porte comme on dit !

Bon, donc je n'aurai pas le plaisir de voir comment traiter un négatif difficile et ne pas obtenir des couleurs zarbis :-)

Je le mets quand même en téléchargement si Titistef passe par là et qu'il veut tester sa pépite ;-)

http://dl.free.fr/hvquC7i9e

D'après la classification agfa, le néga peut être considéré comme  "flat" et "thin", mais le scan est dans un espace epson qui va bien et surtout il est linéaire et sur 16 bits ;-)

frmfrm

Rectification, j'ai viré le fichier en téléchargement..... Je deviens débile/ridicule avec l'age ;-)


frmfrm

Pour en finir avec ce fil, voila les dernières nouvelles du front. En attendant qu'on m'offre un abonnement à LR et un plugin pour développer mes rares négatifs couleurs, j'ai continué à perdre mon temps.... Hein ..... je recommence :-)

Un des problème avec ma façon de scanner en linéaire, c'est que je ne corrige pas les dérives du scanner. Ci dessous, à gauche on voit bien les décalages des plages d'une charte IT8. En ajoutant un calque niveau on arrive à compenser un peu le problème qui semble constant dans le temps.  Ma correction calculée aujourd'hui fonctionne sur des scans anciens.

Corriger le scanner avec le calque de niveau évite de trop pousser les curseurs de correction des BL ensuite.

On pourrait ajouter 3 curseurs pour modifier le gamma de chaque primaire individuellement, mais ça va faire des boutons en plus pour pas grand chose ( peut être dans le cas films vraiment périmés ou développement à coté de la plaque qui produirait un gros écart de gamma d'une primaire avec la courbe sensito normale).

titisteph

#30
En réalité, les résultats, quelle que soit la méthode, sont toujours très opérateur-dépendants. Et même si ce n'est pas ma tasse de thé, je trouve la méthode de frmfrm tout-à-fait respectable. J'ai moi-même passé beaucoup de temps et pris plaisir à faire des trucs que d'autres auraient considéré comme vains. Et ses résultats, sans doute encore perfectibles, sont déjà satisfaisants.

titisteph

CitationRectification, j'ai viré le fichier en téléchargement..... Je deviens débile/ridicule avec l'age ;-)

C'est dommage, il aurait été intéressant qu'on puisse comparer avec ce que donne le plug-in NegaLab. Ca serait constructif, en oubliant les querelles de chapelle qui ne font rien progresser.

photofragments

Citation de: titisteph le Mars 02, 2020, 09:01:55
C'est dommage, il aurait été intéressant qu'on puisse comparer avec ce que donne le plug-in NegaLab. Ca serait constructif, en oubliant les querelles de chapelle qui ne font rien progresser.

+1

Je trouve la démarche intéressante, et je ne comprends pas les réactions négatives à ce propos ;D  vis à vis de quelqu'un, qui de plus, donne sa méthode.
Sans doute complexe, mais qui a aussi le mérite de prendre en compte les bascules couleurs HL BL qui sont difficiles à gérer, quelque soit le procédé.
Libre à chacun de l'utiliser ou pas mais nous devrions tous reconnaître que la démarche est poussée, réfléchie...

En ce qui concerne le plugin Negalab, j'ai téléchargé la version d'essai.
Dommage qu'on ne puisse traiter que 12 images en test, ça va vite...
Mais les profils DCP qui sont inclus sont facilement intégrables dans PS ou LR et ça permet de faire des tests supplémentaires.
J'ai mis en place une macro ATN PS qui automatise le process d'équilibrage couleurs.
Pour ceux qui ont téléchargé les images tests de l'auteur du Plug-in, en voici deux traitées avec le profil lab du Plug-in et ma macro PS, bruts sans correction supplémentaire.
Ils pourront comparer. ;)

frmfrm

Citation de: photofragments le Mars 03, 2020, 17:32:19
Je trouve la démarche intéressante, et je ne comprends pas les réactions négatives à ce propos ;D  vis à vis de quelqu'un, qui de plus, donne sa méthode.

Merci pour ton message.

A bien y réfléchir, je ne suis pas là  pour casser le plugin pour LR, ni le mettre en défaut. Il doit bien se trouver des négas où une correction manuelle des tons Foncés / Clairs est nécessaire puisqu'il y a des boutons pour ça. Mais, les trouver/fournir n'a pas ma priorité :-). En plus, le développeur de ce plugin n'aura sûrement pas la possibilité de venir défendre son travail ...

Ceci dit voila, mon interprétation de dernier néga que tu as traité. Avec mes yeux fatigués par une journée passée sur écran :-)


titisteph


rico7578

Citation de: photofragments le Mars 03, 2020, 17:32:19
Je trouve la démarche intéressante, et je ne comprends pas les réactions négatives à ce propos ;D

Désolé, je ne voulais faire fuir personne, j'ai juste donné mon avis (que j'ai voulu objectif, en montrant un exemple comparatif d'ailleurs), désolé si cela a vexé qqn, ce n'était pas le but, et ce n'est pas une réaction "négative", juste une comparaison objecgive pour montrer que je n'étais pas emballé des résultats jusqu'ici par rapport à ce qui existe déjà (payant certes), mais je ne demande qu'à être démenti !

frmfrm

Pas de problème, je n'ai pas fui pas à cause des remarques "négatives ;-) Si je parle d'en finir sur ce fil, c'est que je pense avoir fait le tour de la question. ( On devra peut être ajuster quelques coefficients pour s'adapter à un scan difficile, mais c'est po bien compliqué).

Maintenant c'est un truc gratuit pour ceux qui ont affinity, qui ne prend que 5 minutes max à mettre en oeuvre et guère plus à tester. Ceux qui ont un besoin pourront vérifier eux même le bouzin et son ergonomie ( ce que je montre dépend en parti de mes choix de développement ) et si ça ne leur convient pas ou qu'il ne veulent pas faire l'effort ;-) , j'en ferais pas une maladie.

Enfin que l'on me conseille sur ce que je dois faire ou pas , c'est un autre pb, mais j'suis pas rancunier :-)