2016-06-12 17 views
1

Ich habe einen Ordner mit Bildern für eine Computer Vision Aufgabe. Jedes Bild ist eine Segmentierungsmaske. Dies bedeutet, dass jede Pixelfarbe darstellt, welche Klasse das Pixel darstellt. Jetzt möchte ich die Bilder kleiner skalieren.Wie kann ich die Größe eines Bildes ändern, ohne die Farben in einem Bild zu ändern?

Wenn ich jedoch

for i in *.png; do convert $i -resize 621x188! $i; done 

tun habe ich das Problem, dass einige Farben in der Grenzinterpoliert erhalten. Wie kann ich das deaktivieren?

+0

Übrigens können Sie 'mogrify -sample ... * .png' verwenden, um das Schreiben einer Schleife zu sparen. –

Antwort

1

Sie die Resize mit -sample dieser wird Zeilen/Spalten löschen oder duplizieren, so dass die Farben identisch

imagemagik

for i in *.png; do convert $i -sample 621x188! $i; done 
+0

Gleiche Befehlsstruktur, ändern Sie einfach die Größe in Sample – Mike

0

Dieses Skript, das Ding tun sind, hoffen, dass es die einfachste Art und Weise ist.

convert *.png -sample 621x188! -set filename:f '%t' '%[filename:f].png' 
Verwandte Themen