-
Notifications
You must be signed in to change notification settings - Fork 2
PixelCounter_2.0
heilandoo edited this page Mar 12, 2020
·
1 revision
/////////////////////////////////////////// HEAD OF CODE ////////////////////////////////////////////
package org.OTI.Softwarepraktikum2020;
/**
- author: OTI2020 && heilandoo
- title: SoPraTestBand
- aim: testing and implementaion of foodfill algorithem to detect connected areas of same color
- date: 11.03.2020; 11:20 am **/
public class SoPraTestBand { static float[][] ausgangsArr = { {0 ,255,255,0 }, {255,255,0 ,0 }, {0 ,255,255,255}, {0 ,255,255,0 }};
/*
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,255},
{0 ,255,255,255,255,255,255,255,0 ,0 },
{0 ,255,255,255,255,255,255,255,255,0 },
{0 ,0 ,255,255,255,0 ,0 ,255,255,0 },
{0 ,255,255,255,0 ,0 ,0 ,255,255,0 },
{0 ,0 ,255,255,0 ,0 ,255,255,0 ,0 },
{0 ,0 ,255,255,255,255,255,0 ,0 ,0 },
{0 ,255,255,255,255,255,0 ,0 ,0 ,0 },
{0 ,0 ,0 ,255,255,255,0 ,0 ,255,255},
{255,0 ,0 ,0 ,0 ,0 ,0 ,255,255,255}};
*/
private static int px = 0;
private static int py = 1;
private static int anzPixel = 0;
static float p = ausgangsArr[px][py];
//static float[][] gut;
public static void main(String[] args){
floodFill(p);
//getPixelValue();
}
public static int pixelCounter(float point) {
anzPixel += 1;
point = 100.f;
return anzPixel;
}
public static void floodFill(float point) {
if((ausgangsArr[px][py + 1] == 255.0f) && (py < (ausgangsArr[px].length - 1))) {
pixelCounter(ausgangsArr[px][py + 1]);
System.out.println(ausgangsArr[px][py + 1]);
//floodFill(ausgangsArr[px][py + 1]);
}else System.out.println("unten");
if((ausgangsArr[px - 1][py + 1] == 255.0f) && (py < (ausgangsArr[px].length - 1)) && (px > 0)) {
ausgangsArr[px -1][py + 1] = 100.0f;
System.out.println(ausgangsArr[px -1][py + 1]);
floodFill(ausgangsArr[px - 1][py + 1]);
}else System.out.println("unten links");
if((ausgangsArr[px - 1][py] == 255.0f) && (px > 0)) {
ausgangsArr[px - 1][py] = 100.0f;
System.out.println(ausgangsArr[px -1][py]);
floodFill(ausgangsArr[px - 1][py]);
}else System.out.println("links");
if((ausgangsArr[px - 1][py - 1] == 255.0f) && (py > 0) && (px > 0)) {
ausgangsArr[px - 1][py - 1] = 100.0f;
System.out.println(ausgangsArr[px - 1][py - 1]);
floodFill(ausgangsArr[px - 1][py - 1]);
}else System.out.println("oben links");
if((ausgangsArr[px][py - 1] == 255.0f) && (py > 0)) {
ausgangsArr[px][py - 1] = 100.0f;
System.out.println(ausgangsArr[px][py - 1]);
floodFill(ausgangsArr[px][py - 1]);
}else System.out.println("oben");
if((ausgangsArr[px + 1][py - 1] == 255.0f) && (px < (ausgangsArr.length - 1)) && (py >0)) {
ausgangsArr[px + 1][py - 1] = 100.0f;
System.out.println(ausgangsArr[px + 1][py - 1]);
floodFill(ausgangsArr[px + 1][py - 1]);
}else System.out.println("oben rechts");
if((ausgangsArr[px + 1][py] == 255.0f) && (px < (ausgangsArr.length - 1))) {
ausgangsArr[px + 1][py] = 100.0f;
System.out.println(ausgangsArr[px + 1][py]);
floodFill(ausgangsArr[px + 1][py]);
}else System.out.println("rechts");
if((ausgangsArr[px + 1][py + 1] == 255.0f) && (px < (ausgangsArr.length - 1)) && (py < (ausgangsArr[px].length - 1))) {
ausgangsArr[px + 1][py + 1] = 100.0f;
System.out.println(ausgangsArr[px + 1][py + 1]);
floodFill(ausgangsArr[px + 1][py + 1]);
}else System.out.println("unten rechts");
}
public static void printPixelValue(float point){
//float p = ausgangsArr[px][py];
System.out.println(point + " ist nicht unser Ziel!!");
}
}
//gut = float[ausgangsArrX][ausgangsArrY];
/*
if(py < (ausgangsArr[px].length - 1)) {
}
if(ausgangsArr[px][py + 1] == 255.0f) {
ausgangsArr[px][py + 1] = 100.0f;
printPixelValue(p);
p = ausgangsArr[px][py + 1];
floodFill(p);
System.out.println(point + " if Geschichte");
}
else {
System.out.println(point + " else Geschichte");
if(ausgangsArr[px - 1][py + 1] == 255.0f) {
printPixelValue(p);
}
}
else {
System.out.println(point + " else_else Geschichte");
}
}
*/
///////////////////////////////////////////// END OF CODE ////////////////////////////////////////////