BufferedImage vergleich mit Subimage

SnauceSnauce

Mitglied
Ich will ein erstelltes subimage mit einem anderen Bild vergleichen und in 3 Kategorien einteilen.

Dazu habe ich folgende Methoden:

Java:
package Code;

import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;

public class PathObjects implements Runnable {

	public static boolean[][] fullWaterRectangle;
	public static boolean[][] fullLandRectangle;
	public static boolean[][] mixedRectangle;
	public BufferedImage[][] img;
	public BufferedImage nakedImage;
	public BufferedImage land;
	public BufferedImage water;

	@Override
	public void run() {
		try {
			this.nakedImage = ImageIO.read(getClass().getClassLoader().getResourceAsStream("Map/Zoomed-Map-Rastered-Naked.png"));
			this.land = ImageIO.read(getClass().getClassLoader().getResourceAsStream("Map/Land.png"));
			this.water = ImageIO.read(getClass().getClassLoader().getResourceAsStream("Map/Water.png"));
		} catch (IOException e) {
			e.printStackTrace();
		}
		PathObjects.fullLandRectangle = new boolean[Cns.MAP_RECTANGLE_AMMOUNT][Cns.MAP_RECTANGLE_AMMOUNT];
		PathObjects.fullWaterRectangle = new boolean[Cns.MAP_RECTANGLE_AMMOUNT][Cns.MAP_RECTANGLE_AMMOUNT];
		PathObjects.mixedRectangle = new boolean[Cns.MAP_RECTANGLE_AMMOUNT][Cns.MAP_RECTANGLE_AMMOUNT];
		this.img = new BufferedImage[Cns.MAP_RECTANGLE_AMMOUNT][Cns.MAP_RECTANGLE_AMMOUNT];

		setAllWaterRectanglesTo(false);
		setAllRectangelsToTheirCategory();
	}

	public PathObjects() {}

	private void setAllWaterRectanglesTo(boolean b) {
		for (int i = 0; i < Cns.MAP_RECTANGLE_AMMOUNT; i++) {
			for (int j = 0; j < Cns.MAP_RECTANGLE_AMMOUNT; j++) {
				fullWaterRectangle[i][j] = b;
				fullLandRectangle[i][j] = b;
				mixedRectangle[i][j] = b;
			}
		}
	}

	private void setAllRectangelsToTheirCategory() {
		for (int i = 0; i < Cns.MAP_RECTANGLE_AMMOUNT; i++) {
			for (int j = 0; j < Cns.MAP_RECTANGLE_AMMOUNT; j++) {
				img[i][j] = nakedImage.getSubimage(1 + 75 * i, 1 + 75 * j, 74, 74);
				if (equals(water, img[i][j])) {
					fullWaterRectangle[i][j] = true;
				} else if (equals(land, img[i][j])) {
					fullLandRectangle[i][j] = true;
				} else {
					mixedRectangle[i][j] = true;
				}
			}
		}
	}

	public boolean equals(BufferedImage img, BufferedImage compareImage) {
		if (img == null || compareImage == null)
			return false;

		if (img.getWidth() == compareImage.getWidth()) {
			if (img.getHeight() == compareImage.getHeight()) {
				for (int x = 0; x < img.getWidth(); x++) {
					for (int y = 0; y < img.getHeight(); y++) {
						if (img.getRGB(x, y) != compareImage.getRGB(x, y)) {
							return false;
						}
					}
				}
			} else
				return false;
		} else
			return false;
		return true;
	}
}

Vom nakedImage hab ich einen Teil in die Anhänge. Aus diesem nakedImage habe ich auch das Array img. Wenn es wie water aussieht soll es an der jeweiligen stelle in fullWaterRectangle auf true gesetzt werde.Wenn es wie land aussieht soll es an der jeweiligen stelle in fullLandRectangle auf true gesetzt werde.
Dies passiert aber nicht.
weiß jemand wieso?
 

Anhänge

  • Water.png
    Water.png
    1,4 KB · Aufrufe: 30
  • Land.png
    Land.png
    901 Bytes · Aufrufe: 28
  • England.png
    England.png
    8,1 KB · Aufrufe: 23
Ähnliche Java Themen
  Titel Forum Antworten Datum
D BufferedImage resize Allgemeine Java-Themen 16
RalleYTN JOGL Texture in BufferedImage konvertieren Allgemeine Java-Themen 1
M Input/Output BufferedImage vertauscht width und height Allgemeine Java-Themen 6
G BufferedImage und ByteArray Allgemeine Java-Themen 2
P Threads BufferedImage, Thread Concurrency Allgemeine Java-Themen 1
M Problem mit BufferedImage und PrinterJob im Querformat Allgemeine Java-Themen 1
T BufferedImage verändert sich beim Einlsesen Allgemeine Java-Themen 1
M BufferedImage toString() überschreiben Allgemeine Java-Themen 5
Thallius PDF von einem BufferedImage erstellen Allgemeine Java-Themen 1
reibi OutOfMemoryError bei Behandlung von BufferedImage's Allgemeine Java-Themen 6
TheSorm BufferedImage spiegeln Allgemeine Java-Themen 3
A BufferedImage einzelne Pixel transparent machen V2.0 Allgemeine Java-Themen 2
S Undoable BufferedImage? Allgemeine Java-Themen 2
lumo 2D-Grafik BufferedImage und operationen darauf Allgemeine Java-Themen 2
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
H BufferedImage Invertieren Allgemeine Java-Themen 13
D md5 berechnen für BufferedImage Allgemeine Java-Themen 5
D BufferedImage rotieren Allgemeine Java-Themen 8
TiME-SPLiNTER Binary BufferedImage automatisch croppen Allgemeine Java-Themen 4
F byte[] aus einem BufferedImage Allgemeine Java-Themen 3
0 BufferedImage - Farbton verändern Allgemeine Java-Themen 5
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
T umwandeln BufferedImage to File Allgemeine Java-Themen 7
reibi BufferedImage nach InputStream Allgemeine Java-Themen 10
Q BufferedImage enzelne Pixel tranzparent machen Allgemeine Java-Themen 2
S BufferedImage mit Transparenten Hintergrund Allgemeine Java-Themen 4
Z Farbe des Pixels rechts unten in einem BufferedImage? Allgemeine Java-Themen 4
R problem! bufferedimage speichern. Allgemeine Java-Themen 7
S BufferedImage als *.tga speichern Allgemeine Java-Themen 3
H Pixel im BufferedImage Manipulieren ? Allgemeine Java-Themen 17
Steev BufferedImage und setRGB() Allgemeine Java-Themen 10
P miese performance bei nem BufferedImage + repaint :( Allgemeine Java-Themen 6
M Drucken mit BufferedImage Allgemeine Java-Themen 9
M Problem mit Durchsuchen von BufferedImage Allgemeine Java-Themen 10
I BufferedImage etc Allgemeine Java-Themen 6
F BufferedImage -> Image Allgemeine Java-Themen 4
G BufferedImage benutzen Allgemeine Java-Themen 6
U BufferedImage.getSubimage ? paintComponent ? Allgemeine Java-Themen 4
T Bilder schnell in BufferedImage laden Allgemeine Java-Themen 4
G BufferedImage zeichnen Allgemeine Java-Themen 4
T BufferedImage aus einem byte-Array? Allgemeine Java-Themen 2
T BufferedImage problem Allgemeine Java-Themen 6
K 32-Bit grayscale BufferedImage Allgemeine Java-Themen 2
T Geschwindigkeit bei Polygonen und BufferedImage Allgemeine Java-Themen 9
Neumi5694 double Vergleich Allgemeine Java-Themen 19
M Vergleich C# und Java Allgemeine Java-Themen 24
D Vergleich OracleJDK/OpenJDK Allgemeine Java-Themen 7
T Komplexitätsoptimierung String vergleich Allgemeine Java-Themen 4
T If Vergleich ergibt nicht das richtige Ergebnis Allgemeine Java-Themen 2
K Vergleich von Strings von Objekten Allgemeine Java-Themen 4
E Problem mit Array vergleich Allgemeine Java-Themen 4
M Vergleich (unscharf) von Screenshots Allgemeine Java-Themen 0
L Vergleich-Xml-Daten Allgemeine Java-Themen 3
Z Vergleich zwischen int und Object Allgemeine Java-Themen 1
M Datums vergleich klappt überhaupt nicht.. Allgemeine Java-Themen 4
S Calendar vergleich Allgemeine Java-Themen 2
G Zeilenweiser Vergleich Allgemeine Java-Themen 10
E Vorschläge, effizientes Hashing von Dateien für vergleich Allgemeine Java-Themen 7
W Vergleich eines Datenträgers auf neue Dateien Allgemeine Java-Themen 14
C Vergleich von Enums gibt inkorrekte Werte Allgemeine Java-Themen 6
N Input/Output Vergleich von identischen Strings schlägt fehl Allgemeine Java-Themen 5
N Vergleich eigener Klassen Allgemeine Java-Themen 5
P J-Unit vergleich von 2 Objekten merkwürdig Allgemeine Java-Themen 7
K GUI-Button Inhalte vergleich - TicTacToe Grundriss Allgemeine Java-Themen 11
N Vergleich von generischen Typen Allgemeine Java-Themen 2
S String-Vergleich in if Allgemeine Java-Themen 7
P JNA - JNI - pures Java - Vergleich Allgemeine Java-Themen 6
I Vergleich zweier Felder Allgemeine Java-Themen 3
M Vergleich von TreeSet<HashSet>^2 Allgemeine Java-Themen 8
F Vergleich zweier Listen Allgemeine Java-Themen 4
U Java Performance im Vergleich zu C++ in speziellem Anwendungsfall Allgemeine Java-Themen 6
D Was ist schneller? Zuweisung oder Vergleich? Allgemeine Java-Themen 18
O String NICHT vergleich Allgemeine Java-Themen 7
G Vergleich von .jpg Dateien Allgemeine Java-Themen 2
I vergleich und zählen von Strings Allgemeine Java-Themen 7
K Vergleich von Icons . Allgemeine Java-Themen 8
N vergleich mit while und for schleife Allgemeine Java-Themen 7
M Vergleich im geordeten Vector und Methodenaufruf Allgemeine Java-Themen 2
minzel String in String (Vergleich) Allgemeine Java-Themen 2
J vergleich zweier datenstrukturen Allgemeine Java-Themen 6
P Vergleich: Java - .net Allgemeine Java-Themen 5
T Vergleich von Tastatureingabe mit dem was in der Datei steht Allgemeine Java-Themen 21
N Split -> IF-String vergleich Allgemeine Java-Themen 5
N Vergleich zweier Hashtable / mehrere Enumerations Allgemeine Java-Themen 7
C Performance Vergleich, Java vs. Tcl/Tk Allgemeine Java-Themen 3
B bit vergleich oder regex Allgemeine Java-Themen 1
X Template Matching (subimage recognition via Formel) vs KNN Allgemeine Java-Themen 36

Ähnliche Java Themen

Neue Themen


Oben