T
tuxedo
Gast
Hi,
ich stehe gerade vor dem Problem, dass ein
und
zu viel Zeit verschlingt.
Ich hab gelesen dass das mit dem Raster, das das BUfferedImage anbietet schneller gehen soll. Habs aber irgendie nicht hinbekommen. Folgendes wirft mir immer eine ArrayIndexOutOfBounds Exception
X und Y sind valide Werte innerhalb des Bildes (1024x768 großes Bild). blockWidth und blockHeight haben fixe Werte von jeweils 5. Und myPixelBlock ist ein eindimensionales Array der Länge 25 (=5*5).
Hintergrund ist:
Ich hab ein Bild A und ein Bild B. Und mittels eines noch recht naiven Algorithmuses, will ich herausfinden, welche Stellen sich in Bild B von Bild A unterscheiden.
Dazu zerteile ich jeweils Bild A und B in gleichgröße Klötzchen (5x5 Pixel) und vergleiche die Klötzchen miteinander. Da ich aber sehr viele Folgebilder hab, muss das sehr oft geschehen. Und wenn dann getRGB() und setRGB als Spassbremse da stehen, geht dem Programm schnell die Puste aus.
Weiß jemand wie ich möglichst effizient Rechtecke aus einem Bild extrahieren kann damit ich solche Blöcke miteinander vergleichen kann (vergleichen geht zur Zeit deutlich schneller als das extrahieren)?
gruß
Alex
ich stehe gerade vor dem Problem, dass ein
Code:
myPixelBlock = myBufferedImage.getRGB(x, y, blockWidth, blockHeight, myPixelBlock , 0, blockWidth);
und
Code:
myBufferedImage.setRGB(x,y,blockWidth,blockHeight,myPixelBlock ,0,blockWidth);
zu viel Zeit verschlingt.
Ich hab gelesen dass das mit dem Raster, das das BUfferedImage anbietet schneller gehen soll. Habs aber irgendie nicht hinbekommen. Folgendes wirft mir immer eine ArrayIndexOutOfBounds Exception
Code:
myPixelBlock = myBufferedImage.getRaster().getPixels(x, y, blockWidth, blockHeight, myPixelBlock );
X und Y sind valide Werte innerhalb des Bildes (1024x768 großes Bild). blockWidth und blockHeight haben fixe Werte von jeweils 5. Und myPixelBlock ist ein eindimensionales Array der Länge 25 (=5*5).
Hintergrund ist:
Ich hab ein Bild A und ein Bild B. Und mittels eines noch recht naiven Algorithmuses, will ich herausfinden, welche Stellen sich in Bild B von Bild A unterscheiden.
Dazu zerteile ich jeweils Bild A und B in gleichgröße Klötzchen (5x5 Pixel) und vergleiche die Klötzchen miteinander. Da ich aber sehr viele Folgebilder hab, muss das sehr oft geschehen. Und wenn dann getRGB() und setRGB als Spassbremse da stehen, geht dem Programm schnell die Puste aus.
Weiß jemand wie ich möglichst effizient Rechtecke aus einem Bild extrahieren kann damit ich solche Blöcke miteinander vergleichen kann (vergleichen geht zur Zeit deutlich schneller als das extrahieren)?
gruß
Alex