// // This file is auto-generated. Please don't modify it! // package org.opencv.contrib; import org.opencv.core.Mat; // C++: class StereoVar /** * <p>Class for computing stereo correspondence using the variational matching * algorithm</p> * * <p>class StereoVar <code></p> * * <p>// C++ code:</p> * * * <p>StereoVar();</p> * * <p>StereoVar(int levels, double pyrScale,</p> * * <p>int nIt, int minDisp, int maxDisp,</p> * * <p>int poly_n, double poly_sigma, float fi,</p> * * <p>float lambda, int penalization, int cycle,</p> * * <p>int flags);</p> * * <p>virtual ~StereoVar();</p> * * <p>virtual void operator()(InputArray left, InputArray right, OutputArray disp);</p> * * <p>int levels;</p> * * <p>double pyrScale;</p> * * <p>int nIt;</p> * * <p>int minDisp;</p> * * <p>int maxDisp;</p> * * <p>int poly_n;</p> * * <p>double poly_sigma;</p> * * <p>float fi;</p> * * <p>float lambda;</p> * * <p>int penalization;</p> * * <p>int cycle;</p> * * <p>int flags;...</p> * * <p>};</p> * * <p>The class implements the modified S. G. Kosov algorithm [Publication] that * differs from the original one as follows: </code></p> * <ul> * <li> The automatic initialization of method's parameters is added. * <li> The method of Smart Iteration Distribution (SID) is implemented. * <li> The support of Multi-Level Adaptation Technique (MLAT) is not * included. * <li> The method of dynamic adaptation of method's parameters is not * included. * </ul> * * @see <a href="http://docs.opencv.org/modules/contrib/doc/stereo.html#stereovar">org.opencv.contrib.StereoVar</a> */ public class StereoVar { protected final long nativeObj; protected StereoVar(long addr) { nativeObj = addr; } public static final int USE_INITIAL_DISPARITY = 1, USE_EQUALIZE_HIST = 2, USE_SMART_ID = 4, USE_AUTO_PARAMS = 8, USE_MEDIAN_FILTERING = 16, CYCLE_O = 0, CYCLE_V = 1, PENALIZATION_TICHONOV = 0, PENALIZATION_CHARBONNIER = 1, PENALIZATION_PERONA_MALIK = 2; // // C++: StereoVar::StereoVar() // /** * <p>The constructor</p> * * <p>The first constructor initializes <code>StereoVar</code> with all the default * parameters. So, you only have to set <code>StereoVar.maxDisp</code> and / or * <code>StereoVar.minDisp</code> at minimum. The second constructor enables * you to set each parameter to a custom value.</p> * * @see <a href="http://docs.opencv.org/modules/contrib/doc/stereo.html#stereovar-stereovar">org.opencv.contrib.StereoVar.StereoVar</a> */ public StereoVar() { nativeObj = StereoVar_0(); return; } // // C++: StereoVar::StereoVar(int levels, double pyrScale, int nIt, int minDisp, int maxDisp, int poly_n, double poly_sigma, float fi, float lambda, int penalization, int cycle, int flags) // /** * <p>The constructor</p> * * <p>The first constructor initializes <code>StereoVar</code> with all the default * parameters. So, you only have to set <code>StereoVar.maxDisp</code> and / or * <code>StereoVar.minDisp</code> at minimum. The second constructor enables * you to set each parameter to a custom value.</p> * * @param levels The number of pyramid layers, including the initial image. * levels=1 means that no extra layers are created and only the original images * are used. This parameter is ignored if flag USE_AUTO_PARAMS is set. * @param pyrScale Specifies the image scale (<1) to build the pyramids for each * image. pyrScale=0.5 means the classical pyramid, where each next layer is * twice smaller than the previous. (This parameter is ignored if flag * USE_AUTO_PARAMS is set). * @param nIt The number of iterations the algorithm does at each pyramid level. * (If the flag USE_SMART_ID is set, the number of iterations will be * redistributed in such a way, that more iterations will be done on more * coarser levels.) * @param minDisp Minimum possible disparity value. Could be negative in case * the left and right input images change places. * @param maxDisp Maximum possible disparity value. * @param poly_n Size of the pixel neighbourhood used to find polynomial * expansion in each pixel. The larger values mean that the image will be * approximated with smoother surfaces, yielding more robust algorithm and more * blurred motion field. Typically, poly_n = 3, 5 or 7 * @param poly_sigma Standard deviation of the Gaussian that is used to smooth * derivatives that are used as a basis for the polynomial expansion. For * poly_n=5 you can set poly_sigma=1.1, for poly_n=7 a good value would be * poly_sigma=1.5 * @param fi The smoothness parameter, ot the weight coefficient for the * smoothness term. * @param lambda The threshold parameter for edge-preserving smoothness. (This * parameter is ignored if PENALIZATION_CHARBONNIER or PENALIZATION_PERONA_MALIK * is used.) * @param penalization Possible values: PENALIZATION_TICHONOV - linear * smoothness; PENALIZATION_CHARBONNIER - non-linear edge preserving smoothness; * PENALIZATION_PERONA_MALIK - non-linear edge-enhancing smoothness. (This * parameter is ignored if flag USE_AUTO_PARAMS is set). * @param cycle Type of the multigrid cycle. Possible values: CYCLE_O and * CYCLE_V for null- and v-cycles respectively. (This parameter is ignored if * flag USE_AUTO_PARAMS is set). * @param flags The operation flags; can be a combination of the following: * <ul> * <li> USE_INITIAL_DISPARITY: Use the input flow as the initial flow * approximation. * <li> USE_EQUALIZE_HIST: Use the histogram equalization in the * pre-processing phase. * <li> USE_SMART_ID: Use the smart iteration distribution (SID). * <li> USE_AUTO_PARAMS: Allow the method to initialize the main parameters. * <li> USE_MEDIAN_FILTERING: Use the median filer of the solution in the post * processing phase. * </ul> * * @see <a href="http://docs.opencv.org/modules/contrib/doc/stereo.html#stereovar-stereovar">org.opencv.contrib.StereoVar.StereoVar</a> */ public StereoVar(int levels, double pyrScale, int nIt, int minDisp, int maxDisp, int poly_n, double poly_sigma, float fi, float lambda, int penalization, int cycle, int flags) { nativeObj = StereoVar_1(levels, pyrScale, nIt, minDisp, maxDisp, poly_n, poly_sigma, fi, lambda, penalization, cycle, flags); return; } // // C++: void StereoVar::operator ()(Mat left, Mat right, Mat& disp) // public void compute(Mat left, Mat right, Mat disp) { compute_0(nativeObj, left.nativeObj, right.nativeObj, disp.nativeObj); return; } // // C++: int StereoVar::levels // public int get_levels() { int retVal = get_levels_0(nativeObj); return retVal; } // // C++: void StereoVar::levels // public void set_levels(int levels) { set_levels_0(nativeObj, levels); return; } // // C++: double StereoVar::pyrScale // public double get_pyrScale() { double retVal = get_pyrScale_0(nativeObj); return retVal; } // // C++: void StereoVar::pyrScale // public void set_pyrScale(double pyrScale) { set_pyrScale_0(nativeObj, pyrScale); return; } // // C++: int StereoVar::nIt // public int get_nIt() { int retVal = get_nIt_0(nativeObj); return retVal; } // // C++: void StereoVar::nIt // public void set_nIt(int nIt) { set_nIt_0(nativeObj, nIt); return; } // // C++: int StereoVar::minDisp // public int get_minDisp() { int retVal = get_minDisp_0(nativeObj); return retVal; } // // C++: void StereoVar::minDisp // public void set_minDisp(int minDisp) { set_minDisp_0(nativeObj, minDisp); return; } // // C++: int StereoVar::maxDisp // public int get_maxDisp() { int retVal = get_maxDisp_0(nativeObj); return retVal; } // // C++: void StereoVar::maxDisp // public void set_maxDisp(int maxDisp) { set_maxDisp_0(nativeObj, maxDisp); return; } // // C++: int StereoVar::poly_n // public int get_poly_n() { int retVal = get_poly_n_0(nativeObj); return retVal; } // // C++: void StereoVar::poly_n // public void set_poly_n(int poly_n) { set_poly_n_0(nativeObj, poly_n); return; } // // C++: double StereoVar::poly_sigma // public double get_poly_sigma() { double retVal = get_poly_sigma_0(nativeObj); return retVal; } // // C++: void StereoVar::poly_sigma // public void set_poly_sigma(double poly_sigma) { set_poly_sigma_0(nativeObj, poly_sigma); return; } // // C++: float StereoVar::fi // public float get_fi() { float retVal = get_fi_0(nativeObj); return retVal; } // // C++: void StereoVar::fi // public void set_fi(float fi) { set_fi_0(nativeObj, fi); return; } // // C++: float StereoVar::lambda // public float get_lambda() { float retVal = get_lambda_0(nativeObj); return retVal; } // // C++: void StereoVar::lambda // public void set_lambda(float lambda) { set_lambda_0(nativeObj, lambda); return; } // // C++: int StereoVar::penalization // public int get_penalization() { int retVal = get_penalization_0(nativeObj); return retVal; } // // C++: void StereoVar::penalization // public void set_penalization(int penalization) { set_penalization_0(nativeObj, penalization); return; } // // C++: int StereoVar::cycle // public int get_cycle() { int retVal = get_cycle_0(nativeObj); return retVal; } // // C++: void StereoVar::cycle // public void set_cycle(int cycle) { set_cycle_0(nativeObj, cycle); return; } // // C++: int StereoVar::flags // public int get_flags() { int retVal = get_flags_0(nativeObj); return retVal; } // // C++: void StereoVar::flags // public void set_flags(int flags) { set_flags_0(nativeObj, flags); return; } @Override protected void finalize() throws Throwable { delete(nativeObj); } // C++: StereoVar::StereoVar() private static native long StereoVar_0(); // C++: StereoVar::StereoVar(int levels, double pyrScale, int nIt, int minDisp, int maxDisp, int poly_n, double poly_sigma, float fi, float lambda, int penalization, int cycle, int flags) private static native long StereoVar_1(int levels, double pyrScale, int nIt, int minDisp, int maxDisp, int poly_n, double poly_sigma, float fi, float lambda, int penalization, int cycle, int flags); // C++: void StereoVar::operator ()(Mat left, Mat right, Mat& disp) private static native void compute_0(long nativeObj, long left_nativeObj, long right_nativeObj, long disp_nativeObj); // C++: int StereoVar::levels private static native int get_levels_0(long nativeObj); // C++: void StereoVar::levels private static native void set_levels_0(long nativeObj, int levels); // C++: double StereoVar::pyrScale private static native double get_pyrScale_0(long nativeObj); // C++: void StereoVar::pyrScale private static native void set_pyrScale_0(long nativeObj, double pyrScale); // C++: int StereoVar::nIt private static native int get_nIt_0(long nativeObj); // C++: void StereoVar::nIt private static native void set_nIt_0(long nativeObj, int nIt); // C++: int StereoVar::minDisp private static native int get_minDisp_0(long nativeObj); // C++: void StereoVar::minDisp private static native void set_minDisp_0(long nativeObj, int minDisp); // C++: int StereoVar::maxDisp private static native int get_maxDisp_0(long nativeObj); // C++: void StereoVar::maxDisp private static native void set_maxDisp_0(long nativeObj, int maxDisp); // C++: int StereoVar::poly_n private static native int get_poly_n_0(long nativeObj); // C++: void StereoVar::poly_n private static native void set_poly_n_0(long nativeObj, int poly_n); // C++: double StereoVar::poly_sigma private static native double get_poly_sigma_0(long nativeObj); // C++: void StereoVar::poly_sigma private static native void set_poly_sigma_0(long nativeObj, double poly_sigma); // C++: float StereoVar::fi private static native float get_fi_0(long nativeObj); // C++: void StereoVar::fi private static native void set_fi_0(long nativeObj, float fi); // C++: float StereoVar::lambda private static native float get_lambda_0(long nativeObj); // C++: void StereoVar::lambda private static native void set_lambda_0(long nativeObj, float lambda); // C++: int StereoVar::penalization private static native int get_penalization_0(long nativeObj); // C++: void StereoVar::penalization private static native void set_penalization_0(long nativeObj, int penalization); // C++: int StereoVar::cycle private static native int get_cycle_0(long nativeObj); // C++: void StereoVar::cycle private static native void set_cycle_0(long nativeObj, int cycle); // C++: int StereoVar::flags private static native int get_flags_0(long nativeObj); // C++: void StereoVar::flags private static native void set_flags_0(long nativeObj, int flags); // native support for java finalize() private static native void delete(long nativeObj); }