Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static double kirshCalculate(Index[] indexes, PixelReader reader){
- double aver = 0;
- for(int i = 0; i < indexes.length; i++){
- matrixForFilter[i] = (int)(reader.getColor(indexes[i].getX(), indexes[i].getY()).getBrightness()*255);
- }
- int S = 0, T = 0, F = 0;
- for(int i = 0; i <=7; i++){
- S=0; T = 0;
- for(int j = 0; j<=2; j++)S+= matrixForFilter[(i+j)%8];
- for(int j = 3; j<=7; j++)T+= matrixForFilter[(i+j)%8];
- F = max(F, Math.abs(5*S - 3*T));
- }
- F=(F<0)?0:F;
- return (F>255)?255:F;
- }
- private static Index[] initilizeIndexes(int i, int j, int w, int h){
- Index[] indexes = new Index[9];
- for(int k = 0; k < 9; k++){
- indexes[k] = new Index(w, h);
- }
- indexes[0].setXY(i - 1, j - 1);
- indexes[1].setXY(i - 1, j);
- indexes[2].setXY(i - 1, j + 1);
- indexes[5].setXY(i, j + 1);
- indexes[8].setXY(i + 1, j + 1);
- indexes[7].setXY(i + 1, j);
- indexes[6].setXY(i + 1, j -1);
- indexes[3].setXY(i, j - 1);
- indexes[4].setXY(i, j);
- return indexes;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement