|
|
@ -21,7 +21,7 @@ public class LoveLiveReader extends Reader{ |
|
|
|
static int lastJump=0; |
|
|
|
static int lastJump=0; |
|
|
|
public LoveLiveReader(){ |
|
|
|
public LoveLiveReader(){ |
|
|
|
addRegion(new Box(713,401,232,50),NUMBER); //score[0]
|
|
|
|
addRegion(new Box(713,401,232,50),NUMBER); //score[0]
|
|
|
|
addRegion(new Box(613,290,65,36)); //rank[1]
|
|
|
|
addRegion(new Box(867,710,286,156)); //rank[1]
|
|
|
|
extraRegions.add(new Box(65,604,250,53)); //perfect outline[0]
|
|
|
|
extraRegions.add(new Box(65,604,250,53)); //perfect outline[0]
|
|
|
|
extraRegions.add(new Box(65,680,250,53)); //great outline[1]
|
|
|
|
extraRegions.add(new Box(65,680,250,53)); //great outline[1]
|
|
|
|
extraRegions.add(new Box(65,760,250,53)); //good outline[2]
|
|
|
|
extraRegions.add(new Box(65,760,250,53)); //good outline[2]
|
|
|
@ -179,6 +179,21 @@ public class LoveLiveReader extends Reader{ |
|
|
|
}break; |
|
|
|
}break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
boolean checkRank(ColorRange range,int[] arr) { |
|
|
|
|
|
|
|
return checkRank(range,arr,4096); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean checkRank(ColorRange range,int[] arr,int amt) { |
|
|
|
|
|
|
|
int colorCount=0; |
|
|
|
|
|
|
|
for (int j=0;j<arr.length;j++) { |
|
|
|
|
|
|
|
Color col = new Color(arr[j],true); |
|
|
|
|
|
|
|
if (range.colorInRange(col)) { |
|
|
|
|
|
|
|
colorCount++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
System.out.println("Found "+colorCount+" pixels."); |
|
|
|
|
|
|
|
return colorCount>amt; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void interpretBoxes(Path img){ |
|
|
|
public void interpretBoxes(Path img){ |
|
|
|
/*String dataString = readAllBoxes(img); |
|
|
|
/*String dataString = readAllBoxes(img); |
|
|
@ -217,6 +232,40 @@ public class LoveLiveReader extends Reader{ |
|
|
|
subRegion.setRGB(0,0,readRegions.get(i).w,readRegions.get(i).h,arr,0,readRegions.get(i).w); |
|
|
|
subRegion.setRGB(0,0,readRegions.get(i).w,readRegions.get(i).h,arr,0,readRegions.get(i).w); |
|
|
|
ImageIO.write(subRegion,"png",new File("sub.png")); |
|
|
|
ImageIO.write(subRegion,"png",new File("sub.png")); |
|
|
|
cutImg.setRGB(0,currentHeight,readRegions.get(i).w,readRegions.get(i).h,arr,0,readRegions.get(i).w); |
|
|
|
cutImg.setRGB(0,currentHeight,readRegions.get(i).w,readRegions.get(i).h,arr,0,readRegions.get(i).w); |
|
|
|
|
|
|
|
if (i==1) { |
|
|
|
|
|
|
|
final ColorRange dRange = new ColorRange(130,160,130,190,200,250); |
|
|
|
|
|
|
|
final ColorRange cRange = new ColorRange(50,200,180,230,10,115); |
|
|
|
|
|
|
|
final ColorRange bRange = new ColorRange(240,252,0,140,150,200); |
|
|
|
|
|
|
|
final ColorRange aRange = new ColorRange(180,230,40,200,230,250); |
|
|
|
|
|
|
|
final ColorRange sRange = new ColorRange(245,255,150,255,0,100); |
|
|
|
|
|
|
|
Color col = new Color(subRegion.getRGB(269, 19),true); |
|
|
|
|
|
|
|
System.out.println(col); |
|
|
|
|
|
|
|
final ColorRange sssRange = new ColorRange(245,255,60,190,0,150); |
|
|
|
|
|
|
|
Color col2 = new Color(subRegion.getRGB(228, 19),true); |
|
|
|
|
|
|
|
final ColorRange ssRange = new ColorRange(245,255,60,190,0,150); |
|
|
|
|
|
|
|
System.out.println(col2); |
|
|
|
|
|
|
|
if (checkRank(dRange,arr)) { |
|
|
|
|
|
|
|
rank=6;/*D*/ |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
if (checkRank(cRange,arr)) { |
|
|
|
|
|
|
|
rank=5;/*C*/ |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
if (checkRank(bRange,arr)) { |
|
|
|
|
|
|
|
rank=4;/*B*/ |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
if (checkRank(aRange,arr)) { |
|
|
|
|
|
|
|
rank=3;/*A*/ |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
if (sssRange.colorInRange(col)) { |
|
|
|
|
|
|
|
rank=0;/*SSS*/ |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
if (ssRange.colorInRange(col2)) { |
|
|
|
|
|
|
|
rank=1;/*SS*/ |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
if (checkRank(sRange,arr)) { |
|
|
|
|
|
|
|
rank=2;/*S*/ |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
String val = interpretImage(subRegion,i); |
|
|
|
String val = interpretImage(subRegion,i); |
|
|
|
sig_data[counter++]=val; |
|
|
|
sig_data[counter++]=val; |
|
|
|
//System.out.println(i+": "+currentHeight+"-"+(currentHeight+readRegions.get(i).h+REGION_PADDING));
|
|
|
|
//System.out.println(i+": "+currentHeight+"-"+(currentHeight+readRegions.get(i).h+REGION_PADDING));
|
|
|
|