Warning: session_start(): open(/var/lib/php/sessions/sess_aqlea4gd4kov33407q7smoa3f7, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
// S&P, then regions
sclass Gazelle22_ImageToRegions {
BufferedImage inputImage;
Decolorizer decolorizer; // null for simple decolorization
BWIntegralImage ii;
SnPSettings snpSettings;
BWImage posterized;
BWImage_FastRegions regions;
Map, Double> scoredRegions;
FunctionTimings timings;
*(FunctionTimings *timings, BufferedImage *inputImage, SnPSettings *snpSettings) {}
run {
timings.do(decolorizer != null ? "bwIntegralImage w/decolorizer" : "bwIntegralImage", ->
ii = bwIntegralImage_withMeta(inputImage, decolorizer));
timings.do("scaleAndPosterize", ->
posterized = scaleAndPosterize(ii, snpSettings));
regions = new BWImage_FastRegions(posterized);
regions.collectBounds();
timings.do("Regions", regions);
}
// information about original screenshot if available
ScreenShotMeta screenShotMeta() {
ret optCast ScreenShotMeta(getMetaSrc(inputImage));
}
Pt coordinatesFromScreen(Pt p) {
var meta = screenShotMeta();
if (meta == null) null;
var r = meta.bounds;
if (!r.contains(p)) null;
p = translatePt(p, -r.x, -r.y);
ret scalePt(p, doubleRatio(snpSettings.pixelRows, r.h));
}
Pt coordinatesToScreen(Pt p) {
var meta = screenShotMeta();
if (meta == null) null;
var r = meta.bounds;
ret translatePt(r.x, r.y,
scalePt(p, doubleRatio(r.h, snpSettings.pixelRows)));
}
}