001//
002// This file is auto-generated. Please don't modify it!
003//
004package org.opencv.video;
005
006import org.opencv.core.Algorithm;
007import org.opencv.core.Mat;
008
009// C++: class DenseOpticalFlow
010/**
011 * Base class for dense optical flow algorithms
012 */
013public class DenseOpticalFlow extends Algorithm {
014
015    protected DenseOpticalFlow(long addr) { super(addr); }
016
017    // internal usage only
018    public static DenseOpticalFlow __fromPtr__(long addr) { return new DenseOpticalFlow(addr); }
019
020    //
021    // C++:  void cv::DenseOpticalFlow::calc(Mat I0, Mat I1, Mat& flow)
022    //
023
024    /**
025     * Calculates an optical flow.
026     *
027     *     @param I0 first 8-bit single-channel input image.
028     *     @param I1 second input image of the same size and the same type as prev.
029     *     @param flow computed flow image that has the same size as prev and type CV_32FC2.
030     */
031    public void calc(Mat I0, Mat I1, Mat flow) {
032        calc_0(nativeObj, I0.nativeObj, I1.nativeObj, flow.nativeObj);
033    }
034
035
036    //
037    // C++:  void cv::DenseOpticalFlow::collectGarbage()
038    //
039
040    /**
041     * Releases all inner buffers.
042     */
043    public void collectGarbage() {
044        collectGarbage_0(nativeObj);
045    }
046
047
048    @Override
049    protected void finalize() throws Throwable {
050        delete(nativeObj);
051    }
052
053
054
055    // C++:  void cv::DenseOpticalFlow::calc(Mat I0, Mat I1, Mat& flow)
056    private static native void calc_0(long nativeObj, long I0_nativeObj, long I1_nativeObj, long flow_nativeObj);
057
058    // C++:  void cv::DenseOpticalFlow::collectGarbage()
059    private static native void collectGarbage_0(long nativeObj);
060
061    // native support for java finalize()
062    private static native void delete(long nativeObj);
063
064}