morgulbrut
Anmeldungsdatum: 23. Oktober 2007
Beiträge: 116
Wohnort: Winterthur
|
Ein Tweet brachte mich auf die Idee, ein Script zusammen zu basteln mit dem sich auf mit der Konsole solche Retrofotos basteln lassen, wie sie im Moment grad in sind. Gesagt, getan und weil ich dabei was sehr cooles zum Thema Farbanpassungen in imagemagick gelernt habe, will ich euch das Resultat nicht vorenthalten. Zuerst wird das Bild mal auf 1000 x 1000 Pixel zugeschnitten, dies damit die Rahmen und Störungen später nicht skaliert werden sollen. (ich bin nicht wahnsinnig bewandert in Sachen Vektorgrafik). In einem zweiten Schritt, werden die Farben angepasst, dies geschiet über Lookuptables (eben das sehr coole 😉 🇬🇧http://www.imagemagick.org/Usage/color_mods/#hald-clut. Danach werden noch Störungen und Rahmen, beides pngs über das Bild gelegt. Effekte, Rahmen und Störungen liegen jeweils in einzelnen Ordner, und ohne Argumente wählt das Script zufälligerweise jeweils einen. Das System hab ich so gewählt, dass es einfach ist neue Effekte und so einzubauen. So nun bewerft mich mit Schlamm 😉
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 21809
Wohnort: Lorchhausen im schönen Rheingau
|
Fehlt ja nur noch das Skript 😉 Gruß vom neugierigen Ritter
|
morgulbrut
(Themenstarter)
Anmeldungsdatum: 23. Oktober 2007
Beiträge: 116
Wohnort: Winterthur
|
redknight schrieb: Fehlt ja nur noch das Skript 😉 Gruß vom neugierigen Ritter
Ja gestern merkte ich, nachdem ich den Text geschrieben und schon abgeschickt hatte, dass wohl der Anhang zu gross ist. Drum mal hier ein Dropbox Link: http://dl.dropbox.com/u/59555141/inshtagrm.tar.gz BTW: wie kann ich meinen Eingangspost editieren? Hab das Inyoka Forum schon eine Weile nicht mehr gebraucht.
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 21809
Wohnort: Lorchhausen im schönen Rheingau
|
Nachdem jemand geantwortet hat, hast Du nur noch einen kleinen Zeitraum die Möglichkeit zum editieren.
|
dAnjou
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
Wohnort: Berlin
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 | ╭─max@XV88 ~/Downloads/inshtagrm
╰─$ ls
distortions effects frames inshtagrm.sh tests
╭─max@XV88 ~/Downloads/inshtagrm
╰─$ ./inshtagrm.sh
convert: missing an image filename `temp.png' @ error/convert.c/ConvertImageCommand/2940.
convert: unable to open image `temp.png': png.la @ error/blob.c/OpenBlob/2489.
convert: unable to open image `temp.png': @ error/blob.c/OpenBlob/2489.
convert: unable to open file `temp.png' @ error/png.c/ReadPNGImage/2951.
convert: missing an image filename `temp.png' @ error/convert.c/ConvertImageCommand/2940.
convert: unable to open image `temp.png': png.la @ error/blob.c/OpenBlob/2489.
convert: unable to open image `temp.png': @ error/blob.c/OpenBlob/2489.
convert: unable to open file `temp.png' @ error/png.c/ReadPNGImage/2951.
convert: unable to open image `/home/max/Dropbox/inshtagrm/effects/*': png.la @ error/blob.c/OpenBlob/2489.
convert: missing an image filename `temp.png' @ error/convert.c/ConvertImageCommand/2940.
composite: unable to open image `/home/max/Dropbox/inshtagrm/distortions/*': @ error/blob.c/OpenBlob/2489.
composite: unable to open image `temp.png': png.la @ error/blob.c/OpenBlob/2489.
composite: unable to open image `temp.png': @ error/blob.c/OpenBlob/2489.
composite: unable to open file `temp.png' @ error/png.c/ReadPNGImage/2951.
composite: missing an image filename `temp.png' @ error/composite.c/CompositeImageCommand/1607.
composite: unable to open image `/home/max/Dropbox/inshtagrm/frames/*': @ error/blob.c/OpenBlob/2489.
composite: unable to open image `temp.png': png.la @ error/blob.c/OpenBlob/2489.
composite: unable to open image `temp.png': @ error/blob.c/OpenBlob/2489.
composite: unable to open file `temp.png' @ error/png.c/ReadPNGImage/2951.
composite: missing an image filename `temp.png' @ error/composite.c/CompositeImageCommand/1607.
basename: fehlender Operand
„basename --help“ gibt weitere Informationen.
mv: angegebenes Ziel „tests.png“ ist kein Verzeichnis
|
🐸
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5527
|
@dAnjou:
Erst alle Optionen angeben, dann den Filename (zB aus tests/). Bei mir läufts fehlerfrei durch. Zum Script muss ich leider sagen, dass die Fotos alles andere als alt aussehen. ImageMagick bietet eine eigene Option für Sepia an, die funktioniert wesentlich besser (zB http://www.imagemagick.org/script/command-line-options.php#sepia-tone). Weiters ist der Kontrast ein guter Anlaufpunkt (http://www.imagemagick.org/script/command-line-options.php#contrast-stretch).
|
MichaelaK
Anmeldungsdatum: 25. Mai 2011
Beiträge: 617
|
Und was ist mit dem Alt-mach-Filter von Gimp? Der erledigt doch skriptartig eine ganze Reihe von Vorgängen .... reichte dir der nicht aus? 😀
|
Antiqua
Anmeldungsdatum: 30. Dezember 2008
Beiträge: 4534
|
@MichaelaK GIMP ist nicht immer der Weisheit letzter Schluss. Oder kannst du mir schnell mal ein GIMP-Script machen, das 200 Fotos in einem Rutsch auf 800x600 verkleinert und gleichzeitig alles Sepia einfärbt? Oder 50 eingescannte Bilder, die leider um 6° gedreht sind und einen schwarzen Rahmen vom scannen haben, auf 0° dreht und den schwarzen Rahmen wieder entfernt? Ein Bash-Einzeiler mit imagemagick kann das (und noch viel mehr). Das ist eine der Stärken der imagemagick-Tools. @all ich musste im Script die INSTALLDIR richtig setzen, dann gings.
|
dAnjou
Anmeldungsdatum: 8. Oktober 2007
Beiträge: 872
Wohnort: Berlin
|
sebix schrieb: @dAnjou:
Erst alle Optionen angeben, dann den Filename (zB aus tests/). Bei mir läufts fehlerfrei durch.
Was denn für Optionen? Ich habe keine Anleitung gesehen, also habe ich es ohne Optionen und Parameter ausgeführt, was bei ordentlichen Programmen/Skripten die Hilfe anzeigt, wenn sie sonst nichts tun können.
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5527
|
Antiqua schrieb: ich musste im Script die INSTALLDIR richtig setzen, dann gings.
Bei mir ging es aus mir unerklärlichen Gründen auch ohne. dAnjou schrieb: sebix schrieb: @dAnjou:
Erst alle Optionen angeben, dann den Filename (zB aus tests/). Bei mir läufts fehlerfrei durch.
Was denn für Optionen? Ich habe keine Anleitung gesehen, also habe ich es ohne Optionen und Parameter ausgeführt, was bei ordentlichen Programmen/Skripten die Hilfe anzeigt, wenn sie sonst nichts tun können.
Weil es keine Anleitung war ich so frei und hab mir den Code angesehen. Dort steht die Anleitung drinnen und man sieht auch, dass der Parameter -h die Hilfe anzeigt. Nicht jeder schreibt auf Anhieb ein perfektes Script.
|
Antiqua
Anmeldungsdatum: 30. Dezember 2008
Beiträge: 4534
|
sebix schrieb: Antiqua schrieb: ich musste im Script die INSTALLDIR richtig setzen, dann gings.
Bei mir ging es aus mir unerklärlichen Gründen auch ohne.
Dann hast du das tgz entweder in $HOME/Dropbox entpackt oder das Script immer mit Optionen zu div. Files aufgerufen. Ein Aufruf nur mit dem zu bearbeitenden File sucht dann zufällige Bilder aus $INSTALLDIR/{distortions,effects,frames} und das geht schief, wenn $INSTALLDIR nicht stimmt. Ein while [[ $1 = "" ]]
do
usage
exit
done direkt unter oder über dem while getopts “hf:d:e:” -Block löst den von dAnjou bemängelten Lapsus.
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5527
|
Antiqua schrieb: sebix schrieb: Antiqua schrieb: ich musste im Script die INSTALLDIR richtig setzen, dann gings.
Bei mir ging es aus mir unerklärlichen Gründen auch ohne.
Dann hast du das tgz entweder in $HOME/Dropbox entpackt oder das Script immer mit Optionen zu div. Files aufgerufen. Ein Aufruf nur mit dem zu bearbeitenden File sucht dann zufällige Bilder aus $INSTALLDIR/{distortions,effects,frames} und das geht schief, wenn $INSTALLDIR nicht stimmt.
Ah, stimmt. Die Variablen werden ja nur benötigt, wenn die Filenames nicht gegeben sind. Und ich habe alle Optionen angegeben, weshalb es funktionierte.
|