ColourThreshold

abstract class ColourThreshold : Processor<T>

Colour thresholding processor for a colour space, used to find colour contours in an image.

Author

Lucas Bubner, 2024

Since

1.0.0-pre

Inheritors

Constructors

Link copied to clipboard
constructor(colourSpace: ColourThreshold.ColourSpace)
Defines a new colour thresholding processor for a specific colour space, which your lower and upper scalars will be based on.

Types

Link copied to clipboard
The colour spaces that can be used for thresholding.

Properties

Link copied to clipboard
The thickness of the border to draw around the biggest contour.
Link copied to clipboard
The colour space to use for thresholding.
Link copied to clipboard
The thickness of the border to draw around all contours.
Link copied to clipboard
protected open var DEFAULT_MAX_AREA: Double
Link copied to clipboard
protected open var DEFAULT_MIN_AREA: Double

Inherited properties

Link copied to clipboard
protected open val cameraDimensions: Size
Link copied to clipboard
protected val data: List<T>
List of all vision data detected since the last stateful update
Link copied to clipboard
open var isFlipped: Boolean
Link copied to clipboard
open val isRunning: Boolean

Functions

Link copied to clipboard
abstract fun getBoxColour(): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getLower(): Scalar
Gets the lower scalar to use for thresholding.
Link copied to clipboard
open fun getUpper(): Scalar
Gets the upper scalar to use for thresholding.
Link copied to clipboard
protected fun onFrameDraw(canvas: Canvas)
Called by the vision system to draw on the frame.
Link copied to clipboard
protected fun onProcessFrame(frame: Mat, captureTimeNanos: Long)
Called by the vision system to process a frame
Link copied to clipboard
open fun resetLower()
Resets the lower override, so that the lower scalar is used instead of the override.
Link copied to clipboard
open fun resetUpper()
Resets the upper override, so that the upper scalar is used instead of the override.
Link copied to clipboard
protected abstract fun setLower(): Scalar

open fun setLower(lower: Scalar)
Forces this upper scalar to be used instead of the scalar supplied by the subclass.
Link copied to clipboard
protected abstract fun setUpper(): Scalar

open fun setUpper(upper: Scalar)
Forces this lower scalar to be used instead of the scalar supplied by the subclass.
Link copied to clipboard
abstract fun showMaskedInput(): Boolean
Link copied to clipboard
protected fun update()
Called to update new data from the vision system, which involves interpreting, collecting, or otherwise processing new vision data per frame.

Inherited functions

Link copied to clipboard
open fun clearData()
Manually clear the data list.
Link copied to clipboard
open fun delegate(@NonNull delegateTo: Processor)
Delegate this processor to another processor.
Link copied to clipboard
open fun getData(): ArrayList<T>
Get the list of vision data.
Link copied to clipboard
abstract fun getFrameBitmap(p: Continuation<out Consumer<Bitmap>>)
open fun getFrameBitmap(continuation: Continuation<out Consumer<Bitmap>>)
Link copied to clipboard
abstract fun init(p: Int, p1: Int, p2: CameraCalibration)
open fun init(width: Int, height: Int, calibration: CameraCalibration)
Link copied to clipboard
open fun isAttached(): Boolean
Determine whether the processor is attached to a Vision instance.
Link copied to clipboard
protected open fun onAttach()
Override this method to run any additional code that will be executed when this processor is attached (via init()) by a Vision instance.
Link copied to clipboard
abstract fun onDrawFrame(p: Canvas, p1: Int, p2: Int, p3: Float, p4: Float, p5: Any)

fun onDrawFrame(canvas: Canvas, onscreenWidth: Int, onscreenHeight: Int, scaleBmpPxToCanvasPx: Float, scaleCanvasDensity: Float, userContext: Any)
Use onFrameDraw instead, which passes a canvas.
Link copied to clipboard
protected open fun onRunning()
Override this method to run any additional code that will be executed when this processor starts streaming (via start()) on a Vision instance.
Link copied to clipboard
abstract fun processFrame(p: Mat, p1: Long): Any
fun processFrame(f: Mat, captureTimeNanos: Long): Any
Link copied to clipboard
abstract fun toString(): String
Unique identifier for the processor.