Class SelfieSegmenter
java.lang.Object
com.codename1.ai.vision.SelfieSegmenter
- All Implemented Interfaces:
VisionAnalyzer<SegmentationMask>, AutoCloseable
Separates a person from the background, for background replacement or blur.
SelfieSegmenter segmenter = new SelfieSegmenter();
EncodedImage photo = EncodedImage.create(jpegBytes);
segmenter.process(VisionImage.encoded(jpegBytes)).ready(mask -> {
// Everything below 60% foreground confidence becomes transparent, so
// whatever is painted behind this image shows through.
Image person = mask.cutOut(photo, 0.6f);
preview.setIcon(person);
segmenter.close();
}).except(error -> {
Log.e(error);
segmenter.close();
});
The mask has the model's own resolution rather than the frame's;
SegmentationMask.cutOut(com.codename1.ui.Image, float) and
SegmentationMask.toMaskImage(int) rescale it for you.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an analyzer using the platform default backend and options.SelfieSegmenter(VisionOptions options) Creates a reusable analyzer with explicit backend and result options. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidclose()Idempotently releases the retained native backend.final booleanTests the exact feature/backend pair configured for this analyzer.final AsyncResource<SegmentationMask> process(VisionImage image) Starts one analysis using the retained native backend.
-
Constructor Details
-
SelfieSegmenter
public SelfieSegmenter()Creates an analyzer using the platform default backend and options.- See Also:
-
SelfieSegmenter
Creates a reusable analyzer with explicit backend and result options.- Parameters:
options- configuration captured by this analyzer;nulluses defaults
-
-
Method Details
-
isSupported
public final boolean isSupported()Description copied from interface:VisionAnalyzerTests the exact feature/backend pair configured for this analyzer.- Specified by:
isSupportedin interfaceVisionAnalyzer<T>- Returns:
- whether this analyzer's feature/backend is available and open
-
process
Starts one analysis using the retained native backend.- Specified by:
processin interfaceVisionAnalyzer<T>- Parameters:
image- immutable encoded or raw input- Returns:
- asynchronous typed result
-
close
public final void close()Idempotently releases the retained native backend.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceVisionAnalyzer<T>
-