Pixelmanipulation Sobel-Operator

T

tanye

Gast
Nabend Zusammen,


Ich möchte den Zobel-Operator implementieren, was ich eigentlich glaube gemacht zu haben. Nur bekomme ich immer diese Fehlermeldung:

java.lang.ArrayIndexOutOfBoundsException: 3
at Sobelfilter.filter(Sobelfilter.java:30)
at imageToolBox.ImageToolBox.applyFilter(ImageToolBox.java:622)
at imageToolBox.ImageToolBox.run(ImageToolBox.java:92)
at java.lang.Thread.run(Thread.java:680)

Ich denke schon dass es so richtig sein sollte, wo soll denn da ein Fehler sein mit den Arrays ? Kann jemand helfen?

Java:
import imageToolBox.AbstractFilter;
import static java.lang.Math.*;

@SuppressWarnings("unused")
public class Sobelfilter extends AbstractFilter
{

	 double[][][] sobelX = null;
	 double[][][] sobelY = null;
	 
 @Override
 public  void filter(double[][][] src, double[][][] dest) 
 {	 	 
    for(int i=1;i<width-2;i++)
    {
    	for(int j=1;j<height-2;j++)
    	{
    	   for (int k=0;k<3;k++)
    	   {
    		   
    		 dest[k][i][j] =  Math.sqrt( 
    		   	              Math.pow(  ((-1) * src[i-1][j-1][k] + 
    				                      (-2) * src[i-1][j][k] +
    				                      (-1) * src[i-1][j+1][k] +
    				               
    				                       0 * src[i][j-1][k] +
    				                       0 * src[i][j][k] +
    				                       0 * src[i][j+1][k] +
    				               
    				                       1 * src[i+1][j-1][k] +
    				                       2 * src[i+1][j][k] +
    				                       1 * src[i+1][j+1][k]),2)+
    		   		  
                                        
    		   	    	      Math.pow(((-1) * src[i-1][j-1][k] + 
										   0 * src[i-1][j][k] +
										   1 * src[i-1][j+1][k] +

									    (-2) * src[i][j-1][k] +
										   0 * src[i][j][k] +
										   2 * src[i][j+1][k] +

										(-1) * src[i+1][j-1][k] +
										   0 * src[i+1][j][k] +
										   1 * src[i+1][j+1][k] ),2)
										   );
					  
					 
    	    }		
    	}
    }
 

	 
 
 
  }
 
}
 

Ark

Top Contributor
Arrayindices beginnen bei 0. Den Rest solltest du mit deinen älteren Threads und jedem Anfänger-Tutorial über Arrays zusammenkriegen; ist ja nicht so, als ob du heute zum ersten Mal ein Array gesehen hättest.

Ark
 

Marco13

Top Contributor
Optimieren... ? Joa...
[c]int y = (-1) * x;[/c]
->
[c]int y = -x;[/c]

[c]Math.pow(/*20 Zeilen code*/, 2);[/c]
->
Code:
int x = /* 20 Zeilen Code, wenn's sein muss */
int y = x*x;

EDIT: Nebenbei: Einen eigenen 3x3-Array zu erstellen, für den Kernel, wäre allgemeiner (nicht notwendigerweise schneller, aber eigentlich sollte Optimieren der ZWEITE Schritt sein, NACHDEM man vernünftigen Code fabriziert hat ;) )
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T sobel-operator Java Basics - Anfänger-Themen 3
pkelod Binäre Darstellung Bitwise-Operator Java Basics - Anfänger-Themen 10
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
C ?: Operator Java Basics - Anfänger-Themen 14
L Java operator % Java Basics - Anfänger-Themen 3
KogoroMori21 Erklärung zum Ternären Operator Java Basics - Anfänger-Themen 4
B Modulo-Operator anhand eines Beispieles erklären Java Basics - Anfänger-Themen 7
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
L Modulus Operator Java Basics - Anfänger-Themen 3
A Zuweisungen und -- operator; Java Basics - Anfänger-Themen 2
H << Operator Java Basics - Anfänger-Themen 7
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
H Operatoren Der bedingte Operator ? : ; Java Basics - Anfänger-Themen 2
J new-Operator Java Basics - Anfänger-Themen 6
H this operator - was ist das? Java Basics - Anfänger-Themen 2
R Operatoren Bad operand types for binary operator Java Basics - Anfänger-Themen 4
O Bedingter Operator eine Frage! Java Basics - Anfänger-Themen 10
O Erste Schritte x*y*z mit Shift Operator moeglich? Java Basics - Anfänger-Themen 15
L Operatoren error: bad operand types for binary operator && Java Basics - Anfänger-Themen 8
E Methoden in new-Operator Methode in geschweifter Klammer Java Basics - Anfänger-Themen 3
I bad operand types for binary operator > Java Basics - Anfänger-Themen 5
D Conditional Operator ?: Java Basics - Anfänger-Themen 3
L Operatoren Übungsklausuraufgabe, unbekannter Operator Java Basics - Anfänger-Themen 13
H Operatoren Fehler bad operand types for binary operator Java Basics - Anfänger-Themen 7
snipesss Operator "-" is undefined Java Basics - Anfänger-Themen 1
F Operatoren If mit variabelem Operator Java Basics - Anfänger-Themen 2
J instanceof Operator Java Basics - Anfänger-Themen 3
K Operatoren The Operator * is undefined for the argument type(s) double, String Java Basics - Anfänger-Themen 4
J Operator * benutzen Java Basics - Anfänger-Themen 3
DeVolt Operatoren Frage zum new-Operator Java Basics - Anfänger-Themen 4
N Methoden Modulo Operator Java Basics - Anfänger-Themen 1
S Operatoren ! Operator Java Basics - Anfänger-Themen 4
O Operator undefined Java Basics - Anfänger-Themen 2
N this-Operator Java Basics - Anfänger-Themen 2
ubaro1 Operatoren Der Tide Operator und positive Ganzzahlen in Binär Java Basics - Anfänger-Themen 1
S Hashcode - Operator ^ Java Basics - Anfänger-Themen 11
M Shift Operator Java Basics - Anfänger-Themen 3
V XOR-Operator? Java Basics - Anfänger-Themen 5
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
J bad operand types for binary operator Java Basics - Anfänger-Themen 3
K Frage zu Class Operator Java Basics - Anfänger-Themen 2
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
C Operatoren | - Operator Java Basics - Anfänger-Themen 10
K .Class Operator unklar Java Basics - Anfänger-Themen 3
B Operator | Java Basics - Anfänger-Themen 11
R Compiler-Fehler Operator + nicht erlaubt? Java Basics - Anfänger-Themen 6
C Was tut der | Operator? Java Basics - Anfänger-Themen 8
K Polymorphie und instanceOf Operator Java Basics - Anfänger-Themen 6
S Objekt Erzeugung ohne new Operator Java Basics - Anfänger-Themen 6
C Logischer UND Operator funktioniert nicht richtig Java Basics - Anfänger-Themen 5
H Buch: Java lernen mit BlueJ Modulo-Operator Java Basics - Anfänger-Themen 16
K Conditional Operator Java Basics - Anfänger-Themen 16
A Was bedeutet der Operator *= ? Java Basics - Anfänger-Themen 2
A Operator in Java Java Basics - Anfänger-Themen 11
S Modulo Operator Java Basics - Anfänger-Themen 8
C Variablen Problem: variable operator might not have been initialized Java Basics - Anfänger-Themen 9
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
K OOP Wertebereich Ergebnis von % Operator Java Basics - Anfänger-Themen 8
L Frage zu Konstruktoren und dem this Operator Java Basics - Anfänger-Themen 16
R Ersatz für Modulo Operator Java Basics - Anfänger-Themen 8
W &-Operator in diesem Zusammenhang Java Basics - Anfänger-Themen 19
J Oder-Operator Tastenkürzel Java Basics - Anfänger-Themen 7
K Cast-Operator Java Basics - Anfänger-Themen 3
D Bit-Operator & Java Basics - Anfänger-Themen 5
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
V Cast-Operator Java Basics - Anfänger-Themen 2
G super operator und incompatible types, simple fehler Java Basics - Anfänger-Themen 8
N Operator aus Array lesen Java Basics - Anfänger-Themen 2
G Für was braucht man den This-operator Java Basics - Anfänger-Themen 3
M Binärdarstellung in Java mit Shift-Operator + bitweises und Java Basics - Anfänger-Themen 2
W Seltsamer Operator int var = 1<< 23; Java Basics - Anfänger-Themen 4
P If Abfrage, Variablenvertauschung und UND Operator Java Basics - Anfänger-Themen 4
J Modulo-Operator rechnet falsch Java Basics - Anfänger-Themen 2
B + operator Java Basics - Anfänger-Themen 4
F Generische Methode - was bringt der Wildcard Operator? Java Basics - Anfänger-Themen 7
H Konditional Operator Java Basics - Anfänger-Themen 2
NightmareVirus new operator Java Basics - Anfänger-Themen 5
M %-Operator Java Basics - Anfänger-Themen 3
G string ohne '+' operator Java Basics - Anfänger-Themen 5
S Modulo-Operator Java Basics - Anfänger-Themen 5
S Operator ! auf char nicht anwendbar, was nun? Java Basics - Anfänger-Themen 7
W %-Operator Java Basics - Anfänger-Themen 4
S Unterschied: ++a & a++ Operator? Java Basics - Anfänger-Themen 9
ven000m Operator += Java Basics - Anfänger-Themen 4
Student Probleme mit dem new-Operator Java Basics - Anfänger-Themen 14
G Operator-Überladung Java Basics - Anfänger-Themen 6
B Operator Java Basics - Anfänger-Themen 2
Z operator ++ Java Basics - Anfänger-Themen 3
N return-Operator Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben