Ändere die Farbe aller Pixel mit einer anderen Farbe

7

Ich würde gerne eine einzige Farbe mit Python ändern.

Wenn eine schnelle Lösung mit PIL existiert, würde ich diese Lösung bevorzugen.

Im Moment benutze ich

%Vor%     
Martin Thoma 26.06.2011, 10:56
quelle

4 Antworten

15

Wenn numpy auf Ihrem Computer verfügbar ist, versuchen Sie Folgendes:

%Vor%

Es wird ein bisschen (3x) mehr Speicher verwenden, aber es sollte erheblich (~ 5x, aber mehr für größere Bilder) schneller sein.

Beachten Sie auch, dass der obige Code etwas komplizierter ist, als es sein müsste, wenn Sie nur RGB-Bilder (und nicht RGBA-Bilder) haben. Dieses Beispiel lässt jedoch das Alpha-Band in Ruhe, während es in einer einfacheren Version nicht möglich wäre.

    
Joe Kington 28.06.2011, 05:20
quelle
4

Ich habe gerade diese Lösung gefunden:

%Vor%

Obwohl putpixel nicht schnell ist, scheint es für mich schnell genug zu sein.

    
Martin Thoma 26.06.2011 11:11
quelle
2

Dies ist eine Modifikation von Joe Kingtons Antwort oben. Im Folgenden sehen Sie, wie Sie dies tun können, wenn Ihr Bild auch einen Alpha-Kanal enthält.

%Vor%

Es hat lange gedauert, bis ich herausgefunden hatte, wie ich es zur Arbeit bringen konnte. Ich hoffe, dass es jemand anderem hilft.

    
hazzey 26.06.2013 01:09
quelle
0

Diese Lösung verwendet glob , um alle PNGs in einem Ordner zu bearbeiten, eine Farbe zu entfernen und sie mit einer anderen Farbe auszutauschen, verwendet jedoch RGBA.

%Vor%

Es ist eine Modifikation von Ссылка

    
TankorSmash 29.11.2015 04:13
quelle