Warning: session_start(): open(/var/lib/php/sessions/sess_6fgqfqesnfdhu6fm75sf90pq2a, 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
sclass ParameterizedSegmenter implements IF1> {
!include #1024657 // Image Segmenter Parameters
// input
transient BufferedImage image;
// output
transient BufferedImage filteredImage1; // before distanceToColor
transient BufferedImage filteredImage;
transient L segments;
run {
BufferedImage image = this.image;
int w = image.getWidth(), h = image.getHeight();
filteredImage = null;
if (filterLevel != 0)
if (eq(filter, 'blur))
image = filteredImage = new BoxBlurFilter(filterLevel).filter(image, null);
else if (eq(filter, 'min))
image = filteredImage = new MinimumFilter(filterLevel).filter(image, null);
else
print("Unknown filter type: " + filter);
filteredImage1 = filteredImage;
new AutoSegmenter as;
as.g = gridSize;
as.contrastThreshold = contrastThreshold;
BWImage bw;
if (distanceFromColor) {
bw = img_distanceFromColor_withGain(image, rgbFromInts(dc_r, dc_g, dc_b), dc_gain);
filteredImage = bw.getBufferedImage();
} else
bw = BWImage(image);
segments = as.go(bw);
IntRange wr = doubleToIntRange_endPlus1(w, widthRange);
IntRange hr = doubleToIntRange_endPlus1(h, heightRange);
IntRange xr = doubleToIntRange_endPlus1(w, xRange);
IntRange yr = doubleToIntRange_endPlus1(h, yRange);
segments = filterRectsByWidthRange(segments, wr);
segments = filterRectsByHeightRange(segments, hr);
segments = filterRectsByCenterXRange(segments, xr);
segments = filterRectsByCenterYRange(segments, yr);
}
public L get(BufferedImage img) {
image = img;
run();
ret segments;
}
void distanceFromColor(RGB color) {
distanceFromColor = true;
dc_r = color.redInt();
dc_g = color.greenInt();
dc_b = color.blueInt();
}
}