Warning: session_start(): open(/var/lib/php/sessions/sess_9lbll8s2lacfji930a1lrm02i2, 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 BWII_MultiPatternFinder implements Iterable {
new L patternImages;
int scaleWidths = ll(100, 50, 25); // widths to scale input image to
transient BWIntegralImage ii;
transient IBWImage scaled;
transient BWImage pattern;
transient FoundImg found;
*() {}
*(L *patternImages, BWIntegralImage *ii) {}
// only call once
public Iterator iterator() {
ret nestedIterator(scaleWidths, func(int scaleWidth) -> Iterator {
mapI(patternImages, func(BWImage pat) {
pattern = pat;
FoundImg lastFound = found;
if (scaled == null || scaled.getWidth() != scaleWidth)
scaled = virtualScaledIntegralImageBW(ii, scaleWidth);
FoundImg found2 = bwImageSearch_best_virtualBig(scaled, pat, found == null ? 0f : found.sim);
if (found2 != null)
ret found = found2;
null;
})
});
}
}