Heute wollte der Lehrer, dass ich dazu beitragen kann, seine mehr als 200 Fotos durch weißes Hintergrund zu ersetzen. Die meisten Fotos sind blau und rot.
PS verwenden? NEIN! Verwenden Sie Java! !
Ja, meine erste Reaktion bestand darin, Java zu verwenden und einen Quellcode zu finden, um Bildpixel im Internet zu erhalten. Nachdem ich einen Schritt unternommen hatte, habe ich es geschafft und es dauerte eine halbe Minute, um mehr als 200 Fotos zu verarbeiten.
/*** Funktion:* Batch Convert Blue-Bottomed Ink Lights in Weißboden* hauptsächlich kann in Hunderten oder Tausenden von Bildern verarbeitet werden. / *** Listen Sie die Bilder im Verzeichnis auf und erhalten Sie das Array*/ file [] file = dirl.listfiles (); / *** Durchqueren des Array*/ for (int x = 0; x <files.length; x ++) {/ *** Definieren Sie ein RGB-Array, da das RGB-Muster des Bildes durch drei 0-255 dargestellt wird, wie z. / *** gepufferter Stream, der zum Verarbeiten des Bildes verwendet wird*/ bufferedImage bi = null; Versuchen Sie { / *** verwenden Sie Imageio, um das Bild in den Puffer zu lesen* / bi = imageio.read (Dateien [x]); } catch (Ausnahme e) {e.printstacktrace (); } / *** Die Länge und Breite des Bildes erhalten* / int width = bi.getWidth (); int Höhe = bi.getheight (); int minx = bi.getminx (); int miny = bi.getMiny (); System.out.println ("In Prozess:"+Dateien [x] .getName ()); /*** Hier sind die Pixel des Bildes. Da die hintere Farbe des Bildes verarbeitet werden soll, muss die Farbe auf dem angegebenen Pixel durch die Zielfarbe ersetzt werden. / ** * Erhalten Sie den RGB -Wert auf dem angegebenen Pixel (i, j), */ int pixel = bi.getRGB (i, j); / *** Bitoperationen separat durchführen, um den Wert auf RGB zu erhalten*/ rgb [0] = (Pixel & 0xff0000) >> 16; RGB [1] = (Pixel & 0xff000) >> 8; RGB [2] = (Pixel & 0xff); /*** FARK -Änderungsoperation durchführen, ich möchte die blaue Basis in die weiße Basis ändern, daher werde ich bestimmen, ob sich der RGB -Wert im Bild im blauen Bereich von Pixeln befindet. Das Urteil wurde verabschiedet und dann das Pixel in weiß */ bi.setrgb (i, j, 0xffffff); }}} System.out.println ("/t ist abgeschlossen:"+Dateien [x] .getName ()); System.out.println (); /*** Speichern Sie das Pufferobjekt in einer neuen Datei*/FileOutputStream ops = new FileOutputStream (neue Datei ("d:/d5/"+x+". JPG")); Imageio.write (bi, "jpg", ops); ops.flush (); ops.close (); }}} Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.