Jump to content

Vorstellung LR Tool zum Schärfen, Rahmen und Beschriftung


Empfohlene Beiträge

Werbung (verschwindet nach Registrierung)

Hallo

 

Ich möchte hier mein Selbstbauprojekt ShrinkSharp vorstellen.

 

Sinn des Programmes ist das schrittweise verkleinern von fertig entwickelten Bildern auf die native Bildschirmauflösung und schrittweises Schärfen. Grundlage bildet die Schärfungsmethode die Phillip in diesem Euer Nex-Workflow - DSLR-Forum Beitrag vorgestellt hat.

 

Da ich selbst kein PS habe, habe ich mir diese Methode mit Hilfe von ImageMagick und Perl nachgebaut. Im Laufe der Zeit kamen noch einige Funktionen hinzu.

 

Hier die Programmfunktionen im Überblick:

 

- Verkleinern des Bildes auf native Bildschirmauflösung.

- Schrittweises schärfen des Bildes.

- Bildrahmen innen in frei definierbarer Größe und Farbe.

- Bildrahmen außen in frei definierbarer Größe und Farbe.

- 6 Beschriftungsfelder die automatisch mit EXIF Daten befüllt werden können in frei definierbaren Farben und Schriften.

- Automatisches einsortieren der fertigen Bilder in eine Verzeichnisstruktur die der Ordnerstruktur aus LR ähnelt.

 

Das Tool hat keine klicki-bunti GUI. Die Konfiguration geschieht über eine Konfigurationsdatei. Das wird auch so bleiben. Nur für die Statusausgabe ist eine GUI geplant. Das Tool ist zum einbinden in LR gedacht kann aber auch außerhalb von LR laufen.

 

Details zur Installation, Nutzung und Konfiguration entnehmt ihr bitte hier Dokumentation Shrinksharp.

Um es gleich vorweg zu nehmen ... es handelt sich nicht um ein ausführbares Programm sondern um ein Perl Script. Die Installation eines Perl Interpreters ist also nötig. Es ist zwar möglich aus Perl Scripten 'exe' Dateien zu generieren aber das habe ich noch nicht versucht.

Bitte lest die Anleitung gut durch da das Tool gewisse Voraussetzungen braucht und (noch) nicht sehr Fehlertolerant ist.

 

Ich hoffe das Tool findet der Ein oder Andere nützlich. Konstruktive Kritik ist ausdrücklich erbeten. Verbesserungsvorschläge sind auch willkommen.

 

Was die Werte für das Schärfen angeht erhoffe ich mir etwas Feedback. Möglicherweise gibt es hier noch Verbesserungspotential.

 

Dank geht an Christian (S3NS3) den ich als Betatester missbrauchen durfte ... er hatte ein sehr gutes Gespür für Bugs :-).

 

Hier einige Beispiele was mit dem Programm möglich ist:

 

 

11149498104_fd57e9d290_o.jpg

 

11149465756_9d6990d003_o.jpg

 

11149443405_63e98a5b30_o.jpg

 

Bye

Marcus

Link zum Beitrag
Auf anderen Seiten teilen

Direkt erstmal ein großes Danke an dich für das geniale Script! :)

Der "Betatest" war echt gut, hatte schon Bange das ich nerve aber ich mach eben alles irgendwie anders und so fiehlen sehr viele Bugs und Probleme auf, auf die man sonst nie kommen würde :P:D

 

 

Die Ersteinrichtung ist allerdings nicht ganz so einfach, denke vorallen für Leute ohne jegliche Programmiererfahrung, aber es lohnt sich!

Einmal eingerichtet einfach Bilder in LR wählen, das eigene Export Preset wählen, warten, fertige Bilder mit perfekter Bildqualität und Rahmen/Infos im Zielordner bestaunen :P

Ich habe mir die Schärfung im Hauptscript noch etwas angehoben, mag es recht knackig scharf :) Wenn jemand Fragen hat helf ich auch gern sofern ich kann ;)

 

Noch ein Tip: Den Perl Package Manager den man brauch um die benötigten Module/Bibliotheken nach dem installieren nachzuladen muss man zumindest bei Win7 als Administrator starten! Da hab ich länger gebraucht heraus zu finden warum er denn keine Lust hat die markierten Module/Bibliotheken nach zu installieren... :o

 

Und zum einfügen der Infos in den Bildern welche manuellen Objektive benutzt wurden kann ich sehr den Lenstagger empfehlen. So kann man schnell direkt in LR die Infos hinzufügen.

Falls das jemand bei RAW bei schon entwickelten fertigen Bildern in LR vor hat gibts aber was zu beachten sonst ist jegliche Entwicklung aus LR dann unwiederruflich verloren. Könnt ja Fragen falls das benötigt wird, such ich nochmal meine Info raus wie man da vorgehen muss. Bei neuen Bilder natürlich kein Problem. Als erstes Lenstagger, dann der Rest - fertig!

 

Achja, stand so oben nicht. Das Script kann auch Lens-Alias benutzten. Das heist man kann komische original Exif Infos bei nativen Objektiven bei der Ausgabe in den Inforahmen in schöne Angaben übersetzen lassen. Also z.B. "E 50 1.8" oder wie das Sony SEL50F18 seine Info speichert dann als "Sony SEL 50mm f1.8 OSS" angeben lassen. Sehr durchdacht!

 

Für mich ist das Script so jedenfalls perfekt. Ich exportiere eigentlich nur noch damit, damit die Bildqualität am Monitor dann wesentlich besser ist als normal per JPG aus LR exportiert. Eben durch die stufenweise Nachschärfung und Skalierung.

Habe mir ein paar Scripte angelegt mit verschiedenen Infos und mal mit und ohne die LR Ordnerstruktur nachzubilden. Das Nachbilden bedeutet das wenn man in LR alle Bilder z.B. im Ordner "E:\Bilder\Originale" in Unterordnern liegen hat er dann ganz automatisch die passende Struktur beim exportieren z.B. auf "D:\Fertige Bilder\S3NS3" anlegt und die Bilder dort also 1:1 speichert wie auf der anderen Platte - sehr geil!

Link zum Beitrag
Auf anderen Seiten teilen

Leider nicht wirklich viel Resonanz :confused:

 

Ich habe jedenfalls noch etwas an den Schärfungsparametern gespielt. Fürs erste finde ich folgende Werte recht gut!

 

 

# Verkleinern und Schärfen

debug ("Code: Unsharp 1");

unsharp_picture ('0.7', '0.5', '0.8'); # radius, sigma, amount

 

debug ("Code: Unsharp 2");

shrink_picture ('', $width_orig-($width_orig*((1-$factor)/4*1)) );

unsharp_picture ('0.4', '0.4', '0.57');

 

debug ("Code: Unsharp 3");

shrink_picture ('', $width_orig-($width_orig*((1-$factor)/4*2)) );

unsharp_picture ('0.6', '0.5', '0.7');

 

debug ("Code: Unsharp 4");

shrink_picture ('', $width_orig-($width_orig*((1-$factor)/4*3)) );

unsharp_picture ('0.6', '0.5', '0.6');

 

debug ("Code: Unsharp 5");

shrink_picture ('final_size', "$factor");

unsharp_picture ('0.2', '0.2', '0.7');

}

Link zum Beitrag
Auf anderen Seiten teilen

  • 3 weeks later...

Spiegel Online stellt gerade auch ein neues PlugIn vor.

Zitat aus SPON: "Das Zusatzmodul erweist sich als richtiger Alleskönner: Nicht nur Text und Rahmen lassen sich zu einem Foto hinzufügen, das Plug-in wartet auch noch mit einigen weiteren Funktionen auf: Neben der Fähigkeit, Wasserzeichen einzubinden, findet sich eine gegenüber Lightroom erweiterte Bildgröße-Funktion, die zusätzlich die Reduzierung auf eine bestimmte Dateigröße zulässt. Für anspruchsvollere Nutzer gibt es Optionen für das Scharfzeichnen und eine Farbraumkonvertierung."

 

Mogrify: Mit dieser Erweiterung wächst Lightroom zur Bildbearbeitung - SPIEGEL ONLINE

 

Grüße

Lumix

Link zum Beitrag
Auf anderen Seiten teilen

@Lumix

 

Wenn ich das Teil eher gefunden hätte hätte ich mein Tool eventuell nie geschrieben ;) .... naja vielleicht doch wegen dem Schrittweisen verkleinern und Schärfen.

 

Mein Traum ist ja dass ich auch mal so eine GUI hin bekomme ... aber das ist verdammt aufwendig. Bin gerade etwas am rum basteln.

 

Bye

Marcus

Link zum Beitrag
Auf anderen Seiten teilen

Werbung (verschwindet nach Registrierung)

Leider nicht wirklich viel Resonanz :confused:

Ja, das finde ich auch schade. Du machst dir viel Arbeit und es scheint kaum jemanden zu interessieren. Vielleicht liegt es daran, daß das Ganze auf jemanden (wie mich), der sich mit Programmieren nicht auskennt, erstmal recht kompliziert wirkt? Ich soll erst noch anderes "Zeug" installieren, dann liest sich die Dokumentation etwas kompliziert (ist halt erstmal viel). Und wenn du dann schreibst: "Bitte lest die Anleitung gut durch da das Tool gewisse Voraussetzungen braucht und (noch) nicht sehr Fehlertolerant ist," dann denkt so jemand wie ich halt: "O.k. da warte ich erstmal ab, wie andere, die sich besser auskennen, damit zurechtkommen, und ob da erst noch was verbessert / vereinfacht wird. Dann kann ich ja immer noch schauen, ob es auch für mich was ist". Das soll keine Kritik sein, sondern ein Versuch zur Erklärung :)

 

Gruß

Reinhard

Link zum Beitrag
Auf anderen Seiten teilen

@Lumix

 

Wenn ich das Teil eher gefunden hätte hätte ich mein Tool eventuell nie geschrieben ;) .... naja vielleicht doch wegen dem Schrittweisen verkleinern und Schärfen.

 

Mein Traum ist ja dass ich auch mal so eine GUI hin bekomme ... aber das ist verdammt aufwendig. Bin gerade etwas am rum basteln.

 

Bye

Marcus

 

 

Ich finde es bewundernswert, wenn jemand eine Idee hat und diese in die Tat umsetzt.

 

Und nicht immer werden von anderen diese guten Ideen gleich erkannt.

 

Zudem denke ich, dass Programme wie LR sich zwar auf vielen Rechnern finden, aber sehr oft kaum richtig eingesetzt werden - da sind die User schon mit den regulären Angebot überfordert.

 

Also lasse dich nicht abschrecken durch zu wenig Resonanz (Daumen-Hoch-Smilie fehlt hier leider)

 

Frohe Festtage wünscht

Lumix

Link zum Beitrag
Auf anderen Seiten teilen

Hi

 

Danke für den virtuellen Schulterklopfer :)

 

Ja ich hätte mir auch etwas mehr Resonanz versprochen. Es liegt sicher viel am komplizierten Handling. Aber nicht so schlimm ... hat Spaß gemacht sich damit zu beschäftigen.

 

Ich bin derzeit dabei die Konfiguration zu erleichtern. Es gibt nur noch das Hauptskript und dann bedarfsabhängige Konfigurationsdateien im guten alten INI Format. Damit ist zumindest schon mal die komplizierte Konfigurationsdatei mit Perl Syntax Geschichte.

 

Das Programm startet dann mit GUI und fragt welche Konfiguration es den benutzen soll.

 

Unschön daran ist dass LR beim Massenexport immer max. 23 Bilder einem Skriptaufruf zuordnet (bei mir). Wenn man also 50 Bilder exportiert wird Shrinksharp 3x gestartet und man müsste dann 3x die Frage nach der Konfig beantworten.

 

Schöner wäre es in LR ein Plugin anzulegen wo man alles einstellen kann. Dazu müsste ich mich aber mit der LR Plugin Sprache beschäftigen ... dazu hatte ich aber noch keine Zeit bzw. Böcke.

 

Den GUI- und Config-Code hab ich schon angefangen.

 

Ich habe mich auch mal schlau gemacht was perl2exe angeht. Hier kann man Perl Code zu einer fertigen Exe Datei kompilieren. Damit würde das Installieren der Perl Interpreters entfallen.

Leider ist das Zeugs aber Lizenzpflichtig sobald man die Exe Dateien veröffentlicht. Bei Code ohne GUI sind es 49$ bzw. 149$ bei Code mit GUI. Das ist mir die Spielerei dann nicht wert. Also wird es dabei bleiben dass man den Perl Interpreter installieren muss.

 

Bye

Marcus

 

und allen schöne Feiertage !

Link zum Beitrag
Auf anderen Seiten teilen

  • 2 weeks later...

Ich versuche mich gerade an der Installation des Skripts, scheitere aber schon daran, dass ich nicht erkenne, wie ich folgendes realisieren kann:"Über den Perl Package Manager müssen dann noch Perl Module nachinstalliert werden". Wie komme ich denn in den Perl Package Manager?

 

EDIT: Kapiert!

bearbeitet von CaptainCook
Link zum Beitrag
Auf anderen Seiten teilen

@CaptainCook

 

Den Perl Packet Manager findest du normalerweise nach der Installation von Active Perl im Startmenü unter ActivePerl.

Alternativ kannst du in der DosBox auch 'ppm' eingeben.

 

@Crix

Ich habe das Script ursprünglich geschrieben weil ich eben kein PS hatte. Sonst hätte ich es über Actions gelöst. Inzwischen sind ja die Rahmen und Beschriftungsfunktionen hinzu gekommen. Ob sich diese über Actions realisieren lassen weiß ich nicht.

Ansonsten kenne ich den großen PS leider nicht. Ich weiß nicht ob man eine Action definieren kann die ein Bild exportiert und automatisch ein externen Binary aufruft wi im LR Export.

Du kannst das Script aber auch für sich alleine nutzen über die DosBox mit 'shrinksharp_xxx.pl bild1.tif bild2.jbp bild3.tif'.

 

Bye

Marcus

Link zum Beitrag
Auf anderen Seiten teilen

@CaptainCook

 

Hallo

 

Zunächst solltest du prüfen ob das Script überhaupt ohne technische Fehler läuft. Starte es dafür bitte in der DosBox mit 'shrinksharp_xxxx.pl kompletter_pfad\bild1 kompletter_pfad\bild2' z.B. 'shrinksharp_hdtv.pl c:\Users\Mustermann\Bilder\haus.tif'. Falls der Pfad oder Dateiname Leerstellen enthält musst du den Pfad und Dateiname in " setzen.

Wenn das ohne Fehler durch läuft schicke mir bitte deine Konfiguration und den Pfad in dem deine Ausgangsdateien liegen.

 

 

Bye

Marcus

Link zum Beitrag
Auf anderen Seiten teilen

Ok, bekomme folgende Fehlermeldung:

 

Can't locate Image/Info in @INC (@INC contains: c: perl164/site/lib C:/perl164/lib .) at: C:\shrinksharp_flickr.pl line 14

BEGIN failed--complilation aborted at C:\shrinksharp_flickr.pl line 14

Compilation failed in require at C:\shrinksharp_flickr.pl line 59

Link zum Beitrag
Auf anderen Seiten teilen

Hi

 

Das besagt dass ein Modul fehlt .... und zwar das Image-Info. Bitte per PerlPacketManager installieren wie in der Doku beschrieben.

 

Ich werde zukünftigen ShrinkSharp Versionen wohl ein Batch Skript beilegen welches die Module installiert. das macht es weniger versierten Anwendern etwas leichter denke ich.

 

Bye

Marcus

Link zum Beitrag
Auf anderen Seiten teilen

Danke! Ich habe festgestellt, dass ich die Module zwar zur Installation markiert, aber nicht installiert hatte.

 

Nächstes Problem: es klappt jetzt über die Eingabeaufforderung, aber nicht aus LR heraus. Da sehe ich eine Fehlermeldung, die aber so schnell wieder weg ist, dass ich sie nicht lesen kann.

 

Und: Ich würde das JPEG gerne genau in dem Ordner speichern, aus dem auch das TIF kam (wo ich es in LR über "Ordner später wählen" hingespeichert hatte). Wie ist das möglich?

Link zum Beitrag
Auf anderen Seiten teilen

Hallo

 

Dan stelle bitte in der Konfiguration den Parameter debug auf yes. Dann pausiert das Script nach jedem Bild und die Meldungen bleiben sichtbar. ist auch so in der Doku beschrieben.

 

Wenn du die Dateien da belassen willst wo sie von LR erstellt wurden musst du eigentlich nichts besonderes machen. das passiert solange der Parameter rewrite_dest_path nicht passt. Also schreibe hier einfach nichts rein oder Blödsinn.

 

Bye

Marcus

Link zum Beitrag
Auf anderen Seiten teilen

LR exportiert das TIF derzeit in d:\fotos\test\shrinksharptest

 

Hier meine Konfiguration (noch nicht komplett an meine Bedürfnisse angepasst)

 

use strict;

use File::Spec;

 

# Variablendefinitionen fuer Benutzer Anfang

# Verkleinern

our $width_dest = '1280'; # Breite des Ausgabebildes (bei 0 keine Skalierung und Schärfung)

our $height_dest = '933'; # Hoehe des Ausgabebildes (bei 0 keine Skalierung und Schärfung)

our $jpg_quality = '95'; # JPG Qualitaet falls Ausgabeformat JPG ist

our $filter = 'Catrom'; # Filter fuer Verkleinerung catrom entspr. bicubic

 

# Dateioptionen

our $prefix_1 = ''; # Namensendung fuer Ausgabebild (vorne)

our $prefix_2 = ''; # Namensendung fuer Ausgabebild (hinten)

our $suffix = 'jpg'; # Dateityp des Ausgangsbildes

our $clean = 'yes'; # Originalbild loeschen

#our $rewrite_dest_path = '';

our $rewrite_dest_path = '';

 

# Rahmen

our $inner_frame_top = '0'; # Rahmenbreite innen

our $inner_frame_bottom = '0'; # Rahmenbreite innen

our $inner_frame_left = '0'; # Rahmenbreite innen

our $inner_frame_right = '0'; # Rahmenbreite innen

our $outer_frame_top = '40'; # Rahmenbreite aussen

our $outer_frame_bottom = '40'; # Rahmenbreite aussen

our $outer_frame_left = '0'; # Rahmenbreite aussen

our $outer_frame_right = '0'; # Rahmenbreite aussen

our $inner_color = 'black'; # Rahmenfarbe innen

our $outer_color = 'black'; # Rahmenfarbe aussen

 

# Beschriftung

# ('Font', 'Fontsize', 'y-Offset', 'Text')

our @pattern_north_west = ('Arial-Bold', '12', 'white', '2', '');

our @pattern_north = ('Arial-Bold', '12', 'white', '0', '');

our @pattern_north_east = ('Arial-Bold', '12', 'white', '2', '&LENS& | &COMPANY& &CAM& | &FOCALLENGTH& | f&APERTURE& | &SHUTTERSPEED&s | ISO &ISO&');

our @pattern_south_west = ('Arial-Bold', '12', 'white', '2', '&TITLE& &DESCRIPTION&');

our @pattern_south = ('Arial-Bold', '12', 'white', '0', '');

our @pattern_south_east = ('Arial-Bold', '12', 'white', '0', '');

 

# Alias für Objektivbeschriftung Original-Exif,Neu

our @lens_alias = ("E 30mm F2.8,Sigma DN 30mm/2.8",

"E 19mm F2.8,Sigma DN 19mm/2.8",

"10.4-37.1 mm f/1.8-4.9,Zeiss Vario Sonnar",

"28-100mm F1.8-4.9,Zeiss Vario Sonnar",

"----,Uraltlinse");

 

# Alias für Kamerabeschriftung Original-Exif,Neu

our @cam_alias = ("DSC-RX100,RX-100",

"NEX-C3,NEX-C3");

 

# Metadaten

our $label = 'Grün'; # Markierung (Zoner)

# Variablendefinitionen fuer Benutzer Ende

 

our $debug = 'yes';

 

# Hauptprogramm starten

my ($volume, $directory, $file) = File::Spec->splitpath(__FILE__);

require "${volume}${directory}shrinksharp_main.pl";

Hallo, lieber Besucher! Als Forumsmitglied (kostet nix) würdest du hier ein Bild sehen…

Einfach hier registrieren – Wir freuen uns immer über neue Mitglieder!

Link zum Beitrag
Auf anderen Seiten teilen

Hallo

 

Wie es aussieht hast du einen kleinen Bug entdeckt. Es liegt an der Variable rewrite_dest_path.

Ich konnte das Verhalten nachvollziehen. Um den Bug zu umgehen setze bitte die Variable rewrite_dest_path = 'xxxxxxxxxxxxxxxxxxxxx'.

 

Bei mir hat es dann funktioniert. Ich werde den Fix in das nächste Release einbauen ... S3NS3 testet es z.Z.

 

Bye

Marcus

Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...