Ich habe kein tiefes Verständnis für den Inhalt der Java -Bildverarbeitung, daher vergeben ich Ihnen Ihre einfachen Worte.
Java implementiert die Einstellung der Farbpegel, dh die RGB -Komponente des Bildes eingestellt und kann auch die Helligkeit des Bildes anpassen.
Testcode
public static void main (String [] args) {// Konvertierung zwischen Datei- und Bufferedimage BufferedImage bi = file2img ("test.jpg"); // Das Bild BufferedImage bii = img_color_gradation (bi, 100,0); img2File (bii, jpg "," jpg "," cust1.jpg ");Farbpegelanpassungscode
// Passen Sie die Bildfarbenpegel an und passen Sie die Komponente des RGB public static bufferedImage img_color_gradation an (bufferedimage imgsrc, int r, int g, int b) {try {// Erstellen Sie ein Image ohne Transparenz gepufferterImage zurück = new bufferedImage (imgsrc.getwidth (),, imgsrc.getheight (), bufferedimage.type_int_rgb); int width = imgsrc.getWidth (); int Höhe = imgsrc.getheight (); für (int i = 0; i <Höhe; i ++) {für (int j = 0; j <width; j ++) {int pixel = imgsrc.getrgb (j, i); Farbe Farbe = neue Farbe (Pixel); int rot = color.getRed ()+r; if (rot> 255) rot = 255; if (rot <0) rot = 0; int green = color.getGreen ()+g; if (grün> 255) grün = 255; if (grün <0) grün = 0; int blue = color.getBlue ()+b; if (blau> 255) blau = 255; if (blau <0) blau = 0; Farbe = neue Farbe (rot, grün, blau); int x = color.getRGB (); back.setrgb (j, i, x); }} kehren zurück; } catch (Ausnahme e) {e.printstacktrace (); null zurückkehren; }}Bildlesung und Speicherfunktionen
// Lesen Sie das Bild public static bufferedImage Datei2Img (String imgPath) {try {bufferedImage bufferedimage = imageio.read (neue Datei (IMGPath)); zurückgepufferterImage; } catch (Ausnahme e) {e.printstacktrace (); null zurückkehren; }} // Speichern Sie das Bild, das Ausmaß ist im Format "JPG", "PNG" usw. public static void img2File (bufferedimage img, String -Ausdehnung, String -Neufile) {try {imageio.write (IMG, Ausmaß, neue Datei (Newfile)); } catch (Ausnahme e) {e.printstacktrace (); }}Aktie:
Das Folgende ist eine Berechnungsformel für Helligkeit und Kontrast
(RGB repräsentiert den Wert der Farbkomponente des Originalbildes, den Wert, der nicht durch die NRGB -Tabelle verarbeitet wird.
Helligkeit: NRGB = RGB+Mbrightness
Kontrast: NRGB = (RGB-AVG)*(1 Prozent%)+AVG Prozent% Wertwertbereich beträgt (-1 ~ 1) 0 ist der ursprüngliche Wert. Die Kontrastformel ist auch sehr gut zu beweisen. Erweitern Sie es.
NRGB = RGB-RGB*Prozent%-Avg+avg*Prozent%+avg
nrgb = rgb-rgb*Prozent%+avg*Prozent%%
Für die gesamte Bildmatrix muss die Helligkeit sichergestellt werden, dass die algebraische Summe der gesamten Matrix unverändert ist.
Und avg = (rgb1+rgb2+... rgbn)/n (1)
(NRGB1+NRGB2+... NRGBN) = (RGB1+RGB2+... RGBN)+N*AVG*Prozent%-(RGB1+RGB2+... RGBN)*Prozent% (2)
Ersetzen Sie einfach die Formel (1) in die Formel (2)
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über die Anpassungs- und Helligkeitsanpassungscode -Beispiele für Java -Bild. Ich hoffe, es wird für alle hilfreich sein. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen.