staging.inyokaproject.org

ImageMagick

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels ImageMagick.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

gar keine, besonders nicht das, wo jetzt noch mkdir 2 davor steht.

IMO Revision zurück setzen.

Gruß, noisefloor

zapatista

Avatar von zapatista

Anmeldungsdatum:
24. Februar 2010

Beiträge: Zähle...

Ist der Befehl für die Stapelverarbeitung noch korrekt?

Bei

1
for i in *.jpg; do convert -quality 70% i; done

kommen bei mir nur Fehlermeldungen zurück.

Fehler:

1
convert.im6: no images defined `i' @ error/convert.c/ConvertImageCommand/3044.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

@zapitsta: ja, funktioniert noch. Das hat auch eigentlich nichts mit ImageMagick zu tun, dass ist eine for-Schleife in der Shell.

Zwei Sachen sind bei dir falsch:

  • du hast das $ vor der Variablen vergessen

  • convert erwartet explizit eine Ausgabedatei

So funktioniert's:

for i in *.jpg; do convert $i -quality 70% $i; done 

Dann werden aber die Originaldateien _überschrieben_. Wenn du die behalten willst, dann nimm' z.B.

for i in *.jpg; do convert $i -quality 70% edit-$i; done 

Dann haben die neuen Dateien das Prefix edit-.

Gruß, noisefloor

TausB

Avatar von TausB

Anmeldungsdatum:
26. November 2009

Beiträge: 1570

noisefloor schrieb:

....

@noiesfloor: Mir wird hier (im Forum) immer eingetrichtert, man möge doch bitte quoten. Gilt das hier nicht?
Also statt $i besser "$i" bzw. "edit-$i"?!

TausB

zapatista

Avatar von zapatista

Anmeldungsdatum:
24. Februar 2010

Beiträge: 79

noisefloor schrieb:

Hallo,

@zapitsta: ja, funktioniert noch. Das hat auch eigentlich nichts mit ImageMagick zu tun, dass ist eine for-Schleife in der Shell.

Zwei Sachen sind bei dir falsch:

  • du hast das $ vor der Variablen vergessen

  • convert erwartet explizit eine Ausgabedatei

So funktioniert's:

for i in *.jpg; do convert $i -quality 70% $i; done 

Dann werden aber die Originaldateien _überschrieben_. Wenn du die behalten willst, dann nimm' z.B.

for i in *.jpg; do convert $i -quality 70% edit-$i; done 

Dann haben die neuen Dateien das Prefix edit-.

Gruß, noisefloor

Supi, hatte zwar auch beim Ausprobieren das $-Zeichen gesetzt (falsche Variante hier reinkopiert). Die Zieldatei hatte ich aber vergessen. Das hatte ich nicht zu Ende gedacht. Besten Dank.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

@TausB: richtig, quoten ist besser. Habe ich im Post oben in der Tat vergessen.

Gruß, noisefloor

mrkramps Team-Icon

Avatar von mrkramps

Anmeldungsdatum:
10. Oktober 2006

Beiträge: 5523

Und wo wir hier gerade beim Quoten sind … Das Skript im Abschnitt Bilder mit Wasserzeichen versehen muss mal ganz dringend überarbeitet werden. Da stehen kaum Variabeln in Anführungszeichen und die Syntax ist nicht mehr zeitgemäß.

Im gleichen Zuge, ich arbeite da mal was aktuelles aus für diesen Anwendungsfall.

EDIT: Habe gerade noch etwas zusammengekeult, dass ich hier zur Diskussion stelle.

 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash
# BESCHREIBUNG #################################################################
# Einen Text als Wasserzeichen in alle Bilder einfügen, die dem Skript als
# Parameter im Befehlsaufruf übergeben werden. Der Schriftzug wird entsprechend
# der Einstellungen unten links ins Bild angebracht.
#
# BEFEHLSBEISPIEL ##############################################################
# $ ./skript *.jpg *.JPG
# $ ./skript bild.jpg bild.png
# $ ./skript pfad/bild.gif pfad/*.jpg
#
# VOREINSTELLUNGEN #############################################################
# Folgende Variabeln können für Gestaltung und Platzierung des Wasserzeichens
# angepasst werden.
#
# Textabstand von links und unten in Pixeln
textabstand_links="10"
textabstand_unten="10"
# Verzeichnis der Schriftart, Schriftart und -größe in Punkten
schriftpfad="/usr/share/fonts/truetype/liberation"
schriftart="LiberationSans-Regular.ttf"
schriftfarbe="white"
schriftgroesse="10"
# Eine Liste der Farben kann man mit folgendem Befehl ausgeben lassen:
# $ convert -list color
#
# Der Textinhalt des Wasserzeichens
schriftzug="Alle Rechte vorbehalten"
#
# Dateinamenzusatz der mit Wasserzeichen versehenen neuen Datei
zusatz="_wz"

# Ausgabe der Voreinstellungen
echo "VOREINSTELLUNGEN :"
echo "=================="
echo "Textabstand links: "$textabstand_links" px"
echo "Textabstand unten: "$textabstand_unten" px"
echo "Schriftart:        "${schriftart%.*}""
echo "Schriftgroesse:    "$schriftgroesse" pt"
echo "Schriftfarbe:      "$schriftfarbe""
echo "Schriftzug:        "$schriftzug""
echo "Dateinamenzusatz:  "$zusatz""
echo ""

# HIER PASSIEREN JETZT DIE VERRÜCKTEN DINGE ####################################
# Überprüfen, ob Dateien beim Aufruf übergeben wurden
if [[ "$@" == "" ]]
then
    echo "Keine Dateien übergeben!"
else
    # Wenn Dateien übergeben wurden, dann Schriftzug in allen anbringen
    for bild in "$@"
    do
        echo "Bearbeite Datei "$bild""

        bildhoehe="$(identify -format '%h' "$bild")"
        x="$textabstand_links"
        y="$(($bildhoehe - $textabstand_unten))"

        convert -font "$schriftpfad"/"$schriftart" -pointsize "$schriftgroesse" \
        -fill "$schriftfarbe" -draw "text $x, $y '$schriftzug'" "$bild" \
        "${bild%.*}""$zusatz"."${bild##*.}"
    done
    echo ""
    echo "In alle Bilddateien wurde erfolgreich"
    echo "ein Wasserzeichen angebracht."
fi

Und jetzt → Bett …

Harry_Hirsch

Anmeldungsdatum:
19. August 2011

Beiträge: 80

Ein Hinweis zu einem Problem beim convert-Befehl:

Egal ob man im oder gegen den Uhrzeigersinn ein Bild um ein (auch beliebige?) Grad drehen will (text2image von tesseract erzeugt teilweise leicht schräge Bilder), convert (ImageMagick 6.7.7-10 ) stürzt beide Male mit einem Fehler ab: "convert: tif_dirwrite.c:2084: TIFFWriteDirectoryTagCheckedRational: Zusicherung »value>=0.0« nicht erfüllt. Abgebrochen (Speicherabzug geschrieben)"

Dies betrifft anscheinend nur neuere Versionen von "ImageMagick"/convert bei Linux (Die Version 6.6.5-8 hat unter Linux noch funktioniert), die Version 6.8.0-2 bei Windows XP funktioniert. Die Lösung ist (http://www.imagemagick.org/discourse-server/viewtopic.php?t=22106 ) als Option " -page +0+0" hinzuzufügen

Am Besten wäre dieser Hinweis, ohne Angaben zu den Versionen(?), vermutlich beim Punkt "3. convert" untergebracht. Noch genauer beim Punkt "3.3 Gescannte Dokumente nachbessern" unter der Rubrik "Anmerkungen", oder?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

da die Optionen auch bei den älteren Versionen nicht schade (oder?), kann das IMHO dazu. Ein Hinweis auf den Bug an passender Stelle wäre aber schon gut.

Möchtest du den Artikel dafür in der Baustelle haben?

Gruß, noisefloor

Harry_Hirsch

Anmeldungsdatum:
19. August 2011

Beiträge: 80

Hi, ob das bei den älteren Versionen schadet, weiß ich nicht. Das müsste man mal überprüfen. Im Moment bin ich gerade noch voll beim Thema Tesseract trainieren dabei.

Möchtest du den Artikel dafür in der Baustelle haben?

Man kann den Artikel doch auch einfach bearbeiten wie bei Wikipedia. Das müsste doch reichen, oder?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

klar kannst du den Artikel direkt bearbeiten. Das geht auch immer, wenn du weißt, was du tust und was du einfügen willst. Weil: die Artikel im Wiki sollen _immer_ in einem konsistenten Zustand sein.

In der Baustelle hättest du als Zeit, kannst testen, muss die Änderungen nicht in einem Rutsch machen etc.

Das ist der Unterschied. Wie du jetzt vorgehst liegt bei dir ☺

Gruß, noisefloor

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Bitte lass das wegen der Diskussionen nicht liegen und füge das ein - toll, das du dich kümmerst. Du kannst auch gern hier im Thema einen Entwurf vorlegen (eingeschränkt auf die neue, getestete Version).

Dann fügen wir dir das schon ein, wenn du dich da nicht selber ran traust oder helfen dir beim Formulieren.

Grüße, Benno

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

@Harry Hirsch Wie ist der Stand der Dinge?

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

@Benno-007 Danke fuer das Vollspammen der Diskussion. Denn anders ist dein Beitrag hier kaum zu bezeichnen: null Inhalt. Warum schreibst Du keine PN, wenn es Dich so brennend interessiert?

Und vorbeugend: das Fragezeichen im letzten Satz ist keine Ermunterung, nun lang und breit offtopic zu werden. Danke.

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Muss ich dich nach 3 Jahren mal wieder melden? Oder warum dürfen Wikiteamler regelmäßig nach dem Stand der noch nicht durchgeführten Änderungen nachfragen? Wenn das Mitwirken nicht erwünscht ist (der Eindruck kommt oft auf), sagt es nicht nur so deutlich, sondern begründet es bitte auch.

Grüße, Benno