Warning: session_start(): open(/var/lib/php/sessions/sess_f2bmrjuuncdo3qvnob34c7p0hd, 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 OCRCompass {
IBWIntegralImage image;
Pt center; // point we're looking at
double radius = 16; // radius of circle
int sensorFootprint = 0; // size of each "pixel" (rectangle) to grab - defaults to radius
int steps = 12; // how many segments of circle (=steps/2 line orientations). should be even
int blur; // blur width
double[] values; // brightnesses at each point (low=foreground)
L sensors() {
ret squaresAroundCircle(center, steps, radius, sensorFootprint());
}
int angles() { ret steps/2; }
int sensorFootprint() {
ret sensorFootprint == 0 ? iceil(radius) : sensorFootprint;
}
void compute {
L sensors = sensors();
int angles = angles();
if (l(values) != angles) values = new double[angles];
for i over values:
values[i] = avg(
image.getPixelAverage(sensors.get(i)),
image.getPixelAverage(sensors.get(i+angles)));
}
void ensureComputed {
if (values == null) compute();
}
double mostLikelyAngle() {
ensureComputed();
indexOfMaxEntryInDoubleArray(values);
ret twoPi()/angles();
}
}