Class CvSink

All Implemented Interfaces:
AutoCloseable

public class CvSink
extends ImageSink
A sink for user code to accept video frames as OpenCV images. These sinks require the WPILib OpenCV builds. For an alternate OpenCV, see the documentation how to build your own with RawSink.
  • Constructor Details

    • CvSink

      public CvSink​(String name, VideoMode.PixelFormat pixelFormat)
      Create a sink for accepting OpenCV images. WaitForFrame() must be called on the created sink to get each new image.
      Parameters:
      name - Source name (arbitrary unique identifier)
      pixelFormat - Source pixel format
    • CvSink

      public CvSink​(String name)
      Create a sink for accepting OpenCV images. WaitForFrame() must be called on the created sink to get each new image. Defaults to kBGR for pixelFormat
      Parameters:
      name - Source name (arbitrary unique identifier)
  • Method Details

    • grabFrame

      public long grabFrame​(Mat image)
      Wait for the next frame and get the image. Times out (returning 0) after 0.225 seconds. The provided image will have three 3-bit channels stored in BGR order.
      Parameters:
      image - Where to store the image.
      Returns:
      Frame time, or 0 on error (call GetError() to obtain the error message)
    • grabFrame

      public long grabFrame​(Mat image, double timeout)
      Wait for the next frame and get the image. Times out (returning 0) after timeout seconds. The provided image will have three 3-bit channels stored in BGR order.
      Parameters:
      image - Where to store the image.
      timeout - Retrieval timeout in seconds.
      Returns:
      Frame time, or 0 on error (call GetError() to obtain the error message); the frame time is in 1 us increments.
    • grabFrameNoTimeout

      public long grabFrameNoTimeout​(Mat image)
      Wait for the next frame and get the image. May block forever. The provided image will have three 3-bit channels stored in BGR order.
      Parameters:
      image - Where to store the image.
      Returns:
      Frame time, or 0 on error (call GetError() to obtain the error message); the frame time is in 1 us increments.