Class CvSink

  • All Implemented Interfaces:
    AutoCloseable

    public class CvSink
    extends VideoSink
    A sink for user code to accept video frames as OpenCV images.
    • Constructor Detail

      • 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.
        Parameters:
        name - Source name (arbitrary unique identifier)
    • Method Detail

      • setDescription

        public void setDescription​(String description)
        Set sink description.
        Parameters:
        description - Description
      • 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.
        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.
        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.
        Returns:
        Frame time, or 0 on error (call GetError() to obtain the error message); the frame time is in 1 us increments.
      • getError

        public String getError()
        Get error string. Call this if WaitForFrame() returns 0 to determine what the error is.
      • setEnabled

        public void setEnabled​(boolean enabled)
        Enable or disable getting new frames. Disabling will cause processFrame (for callback-based CvSinks) to not be called and WaitForFrame() to not return. This can be used to save processor resources when frames are not needed.