Class VisionOptions

java.lang.Object
com.codename1.ai.vision.VisionOptions

public final class VisionOptions extends Object

Common analyzer configuration. An analyzer captures the supplied options when constructed; reuse it for frames needing the same backend, confidence threshold, and result limit.

ImageLabeler labeler = new ImageLabeler(new VisionOptions()
        .minimumConfidence(0.6f)   // drop guesses below 60%
        .maximumResults(5));       // keep the top five labels

The analyzer snapshots these values, so mutating the options object afterwards changes nothing -- construct a second analyzer instead. Not every analyzer reads every setting: textScript(TextScript) applies only to TextRecognizer, and a backend may ignore a limit it has no way to enforce.

  • Constructor Details

    • VisionOptions

      public VisionOptions()
  • Method Details

    • backend

      public VisionOptions backend(VisionBackend value)
      Parameters:
      value - selector, or null to restore automatic selection
      Returns:
      this options object
    • textScript

      public VisionOptions textScript(TextScript value)
      Selects the writing system TextRecognizer should read. Analyzers other than the text recognizer ignore it.
      Parameters:
      value - script selector, or null for the platform default (Latin)
      Returns:
      this options object
    • minimumConfidence

      public VisionOptions minimumConfidence(float value)
      Sets the confidence threshold, clamped to 0..1. NaN has no meaningful ordering and is rejected instead of being passed to platform detectors.
      Parameters:
      value - requested threshold
      Returns:
      this options object
      Throws:
      IllegalArgumentException - if value is NaN
    • maximumResults

      public VisionOptions maximumResults(int value)
      Sets a non-negative result limit; zero means backend default/unlimited.
      Parameters:
      value - requested limit
      Returns:
      this options object
    • barcodeFormats

      public VisionOptions barcodeFormats(String... values)

      Limits BarcodeScanner to the given BarcodeFormat constants. The platform detector is configured with only these symbologies, so it neither spends frame time on formats the application will never accept nor reports one of them by mistake -- which matters most for dense codes such as PDF417, where every frame counts. Analyzers other than the barcode scanner ignore it, as does a backend with no way to restrict its detector (it still reports every format).

      CodeScannerOptions.formats(String...) sets this for the scanner it opens, so a CodeScanner caller does not need both.

      Parameters:
      values - format constants; empty or null detects every format the backend supports
      Returns:
      this options object
    • getBarcodeFormats

      public String[] getBarcodeFormats()
      Returns:
      defensive copy of the barcode formats to detect; empty detects every format
    • getBackend

      public VisionBackend getBackend()
      Returns:
      selected backend, never null
    • getMinimumConfidence

      public float getMinimumConfidence()
      Returns:
      confidence threshold in the range 0..1
    • getMaximumResults

      public int getMaximumResults()
      Returns:
      non-negative result limit; zero means backend default/unlimited
    • getTextScript

      public TextScript getTextScript()
      Returns:
      the selected writing system, or null for the platform default