tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
3863
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Hallo zusammen,

    ich suche gerade eine einfache Lösung, wie ich x farbige Bilder (Flaggen, Dateinamen laut ISO-Norm) in Graustufen bekomme, ohne jedes einzeln bearbeiten zu müssen. "convert" scheint ja dabei genau das richtige Tool zu sein.

    Wie kriege ich jetzt die Bilder in die Graustufen (am besten alle auf einmal)?
    Code :
    1
    2
    3
    4
    
    //Ordnerstruktur:
    /images
      coloured/
      grayscale/
    Am Ende sollen die Bilder unter dem gleichen Namen im Ordner "grayscale" auftauchen. Ich hoffe ihr könnt mir dabei weiterhelfen



    Gruß Radhad
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  2. #2
    Registriert seit
    Sep 2004
    Ort
    Untergruppenbach
    Beiträge
    381
    Hallo Radhat,


    nach Lektüre der entsprechenden Man Page (hier nachzulesen: http://amath.colorado.edu/computing/...n/convert.html) würde ich mal folgendes probieren, nachdem du die Dateien in den Zielordner kopiert hast und dorthin gewechselt bist:
    Code :
    1
    
    convert -monochrome * *


    Lieben Gruß, Niko
     
    :. Sollte mein Beitrag geholfen haben, würde ich mich über eine entsprechende Bewertung freuen.

    SYNCING.NET - Dateien und Outlook Synchronisieren leicht gemacht. >> Jetzt testen

    --- Toleranz darf nur eine vorübergehende Gesinnung sein, die zur Anerkennung führen muss. Dulden heißt beleidigen. --- (Johann Wolfgang von Goethe)

    moneypenny - das mobile büro

  3. #3
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Monochrome kennt nur Schwarz/Weiß
    Die Graustufen bekommt man mittels
    Code :
    1
    
    convert -colorspace Gray image.png image.png
    So geht das zumindest für ein Bild (ungetestet). Jetzt brauche ich das aber für coloured/* => grayscale/* - also für alle Bilder ...
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  4. #4
    Registriert seit
    Sep 2004
    Ort
    Untergruppenbach
    Beiträge
    381
    Ah, ok. Wieder was gelernt. Wie wäre es dann, wenn du dir ein Shell-Skript schreibst, welches den Dateinamen als Variable an convert übergibt?

    Ich meine so was in der Art, wie es z.B. hier zu finden ist: http://fedoraswiss.wordpress.com/200...s-verkleinern/


    Lieben Gruß, Niko

    P.S.: Einführende und weiterführende Infos zu Shell-Skripten gibt es übrigens hier: http://de.wikibooks.org/wiki/Linux-K...programmierung
    Geändert von vault-tec (18.12.07 um 16:53 Uhr)
     
    :. Sollte mein Beitrag geholfen haben, würde ich mich über eine entsprechende Bewertung freuen.

    SYNCING.NET - Dateien und Outlook Synchronisieren leicht gemacht. >> Jetzt testen

    --- Toleranz darf nur eine vorübergehende Gesinnung sein, die zur Anerkennung führen muss. Dulden heißt beleidigen. --- (Johann Wolfgang von Goethe)

    moneypenny - das mobile büro

  5. #5
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    For-Schleife, interessant Müsste das dann so aussehen? Ich teste es auf jeden fall mal...
    Code :
    1
    
    for i in *.png; do convert $i -colorscale Gray ../grayscale/$(basename $i .png).png for i in *.png; do convert $i -colorspace Gray ../grayscale/$(basename $i .png).png; echo $i converted; done

    Damit klappt es wunderbar


    Gruß Radhad
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  6. #6
    Avatar von Sebastian Wramba
    Sebastian Wramba Sebastian Wramba ist offline Mitglied Smaragd
    Registriert seit
    Sep 2001
    Ort
    Essen (NRW)
    Beiträge
    1.218
    Weiß ja nicht, ob convert auch ohne Zielparameter funktioniert, aber wenn ja, würde es
    Code :
    1
    
    find . | grep png | convert -colorscale Grey

    auch tun, oder?
     
    <Florian> Ihr seit alles so Real Life Ruler, oder?
    <SirRobin> Lineale?

  7. #7
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Das Ziel muss man angeben. Vor allem wollte ich die neuen Bilder in nem anderen Ordner haben - das hat auch wunderbar mit obiger for-Schleife geklappt. Ich muss das mal unter Windows testen mit einem Batch-Script.
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  8. #8
    Registriert seit
    Sep 2004
    Ort
    Untergruppenbach
    Beiträge
    381
    Zitat Zitat von Radhad Beitrag anzeigen
    Damit klappt es wunderbar
    Glückwunsch, das hört man gern. Wieder mal ein Beweis dafür, wie mächtig die Shell ist.


    Lieben Gruß, Niko
     
    :. Sollte mein Beitrag geholfen haben, würde ich mich über eine entsprechende Bewertung freuen.

    SYNCING.NET - Dateien und Outlook Synchronisieren leicht gemacht. >> Jetzt testen

    --- Toleranz darf nur eine vorübergehende Gesinnung sein, die zur Anerkennung führen muss. Dulden heißt beleidigen. --- (Johann Wolfgang von Goethe)

    moneypenny - das mobile büro

  9. #9
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Das stimmt, die shell bei Linux ist echt super Aber wie oben schon erwähnt, muss ich das ganze auch mal unter Windows testen, da man ja mit "convert.exe" auch rasch viele Fotos verkleinern kann oder eben von Farbe nach s/w ändern kann Das erleichtert die Arbeit enorm *gg*
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  10. #10
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Parallel zum Befehl convert beinhaltet die ImageMagick-Bibliothek auch noch mogrify,
    welcher die Eingabedatei direkt veraendert.

    Eine Alternative waere also die Bilder alle in ein neues Verzeichnis zu kopieren und dort
    den Befehl mogrify -colorspace Gray *.* auszufuehren.
     

  11. #11
    Muckel1986 Muckel1986 ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Salzgitter, Germany, Germany
    Beiträge
    190
    Hallo zusammen,

    habe mit Convert schon manches gemacht. So z.B. auch die Graustufen, Größer verändert und Format(e) verändert. Nun habe ich aber eine kleine Aufgabe, die ich gerne lösen würde. Und zwar habe ich meine Bilder alle im Ordner Bilder. In diesem Ordner sind dann Unterverzeichnisse wie z.B. 2000, 2001, ... 2010. Eben die Jahre. In diesen Verzeichnisse sind dann wieder Unterverzeichnisse die im Dateinamen vorne immer eine Jahreszahl haben und seit dem ich digital Fotografiere auch das gesamte Datum, damit ich eine automatische formatierung habe.
    • Nun würde ich gerne die Bilder alle zu *.png umwandeln. Dabei sollen die Dateinamen und Verzeichnisstruktur erhalten bleiben.
    • Wenn dies geschehen ist, würde ich gerne neben den Fotos auch noch schwarz-weiß Bilder (Graustufen) anlegen. Dabei sollen jene aber den gleichen Dateinamen haben, nur ergänzt durch sw. Die Verzeichnisstruktur sollte beibehalten werden.
    • Da ich einige Bilder auch online habe, würde ich jene dort gerne mit verringerte Farbtiefer und Größe darstellen. Das ist mit convert ja auch möglich. Hier bräuchte ich das "nur" für Bilder die in einem Verzeichnis sind. Nur da sollte ebenfalls der Dateiname erhalten werden.
    Nun gibt es die for-Schleifen, die man auch in manchen Vorschlägen usw. findet.
    Code :
    1
    
    for i in *.jpg; do convert -resize 20% $i `basename $i .jpg`_thumb.jpg; done
    Da kann man in dem Namen dann ja auch einen Namen anhängen. Doch diese Schleife bezieht sich ja lediglich auf ein Verzeichnis. Ich selbst bräuchte das wie gesagt auch für die Unterverzeichnisse.

    Hat jemand eine Idee, wie man das realisieren kann?
    Liebe Grüße
    Muckel/Tobias
     

  12. #12
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von Muckel1986 Beitrag anzeigen
    Doch diese Schleife bezieht sich ja lediglich auf ein Verzeichnis. Ich selbst bräuchte das wie gesagt auch für die Unterverzeichnisse.

    Hat jemand eine Idee, wie man das realisieren kann?
    Verwende das Programm "find" und ggf. "xargs".

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 25.08.10, 19:13
  2. Antworten: 4
    Letzter Beitrag: 20.09.08, 17:04
  3. Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
    Von MTMonline im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 25.04.08, 09:49
  4. Finder methods + JBoss + Was expecting one of: "CONCAT" "SUBSTRING" ... "(" ... <STRI
    Von cengizhdde im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 27.05.05, 15:29
  5. Hilfe Autocadimport "dwg-filter" oder "3ds"
    Von HeikoPaetzold im Forum 3D Studio Max
    Antworten: 2
    Letzter Beitrag: 27.05.04, 19:42