2017-11-30 4 views
0

Ich muss JPGs in dreifarbige PNGs konvertieren mit `` convert '', die schwarz, weiß und grau (# 808080) erlauben.Wie mache ich ein dreifarbiges Bild mit ImageMagick in der Kommandozeile?

Jede Farbe, die in der Nähe von Schwarz (# 000000) ist, sollte in Schwarz konvertiert werden, jede Farbe, die Grau am nächsten kommt, sollte in diese konvertiert werden und jede Farbe, die in der Nähe von Weiß ist, sollte in diese Farbe konvertiert werden.

Das Posterisieren macht nur die Hälfte der Arbeit, da sich der Grauwert im Nachhinein ändern könnte. Ich brauche es genau # 808080.

Gibt es eine Möglichkeit, das zu tun?

Antwort

1

Sie können das tun, indem Sie eine Karte mit nur den drei gewünschten Farben erstellen und das Bild neu zuordnen, um nur diese Farben zu verwenden. Ein Befehl, das zu tun würde wie folgt aussehen ...

convert input.png +dither \ 
    \(xc:black xc:gray50 xc:white +append -write mpr:map +delete \) \ 
    -remap mpr:map -set colorspace RGB output.png 

Wenn Sie Windows verwenden, sollten Sie diese fortgesetzte Zeile Schrägstriche „\“ zu einem „^“ ändern. Außerdem müssen Sie die Klammern nicht mit umgekehrten Schrägstrichen verlassen.

Bearbeitet, um hinzuzufügen: Ich fügte "-set colorspace RGB" vor der Ausgabe hinzu, um sicherzustellen, dass das Ergebnis linear ist, das sicherstellen sollte, dass die Ausgabe den Farben entspricht, die Sie in der Karte angeben.

Verwandte Themen