Warning: session_start(): open(/var/lib/php/sessions/sess_vo6s0qh40gj1ssi9jqnbq5brig, 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
!7
cmodule WebCamFaceFinder > DynImageSurfaceAndEnabled {
transient BufferedImage lastImage;
FaceFinderByPictures1 finder;
bool overlay, useFullFinder;
transient ReliableSingleThread rstUpdateImage = dm_rst(this, r updateImage);
enhanceFrame {
dm_boolMenuItem(f, 'useFullFinder);
}
start-thread {
dm_onFieldChange('useFullFinder, r { setField(finder := null); makeFinder() });
dm_runInQAndWait(makeFinder());
doEvery(100, rstUpdateImage);
}
void makeFinder {
if (finder == null)
setField(finder := unstructFileOpt(ai_faceFinderDir(
useFullFinder
? "full-finder.struct"
: "smallest-finder-over-95.struct"
)));
if (finder == null)
setField(finder := defaultFaceFinderByPictures());
}
afterVisualize {
imageSurface_pixelated(imageSurface);
containerAddFirst(buttons,
dm_checkBox('overlay),
dm_checkBox('useFullFinder));
}
void updateImage enter {
if (imageSurface == null || !enabled) ret;
final BufferedImage img = dm_webCamImage();
temp tempAfterwards(r { lastImage = img });
if (img == null || img == lastImage) ret;
FoundImgPlus found = finder.getPlus(RGBImage(img));
setSelection(foundImgToRect(found));
if (overlay) {
BufferedImage img2 = cloneBufferedImage(img);
if (found != null)
//fillRect(img2, found.r, Color.white);
drawScaledPixelatedImage(img2, toBufferedImage(found.data), found.r);
setImage(img2);
} else
setImage(img);
}
}