All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bytedeco.opencv.opencv_features2d.MSER Maven / Gradle / Ivy

There is a newer version: 4.10.0-1.5.11
Show newest version
// Targeted by JavaCPP version 1.5.3: DO NOT EDIT THIS FILE

package org.bytedeco.opencv.opencv_features2d;

import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;

import static org.bytedeco.javacpp.presets.javacpp.*;
import static org.bytedeco.openblas.global.openblas_nolapack.*;
import static org.bytedeco.openblas.global.openblas.*;
import org.bytedeco.opencv.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_core.*;
import org.bytedeco.opencv.opencv_imgproc.*;
import static org.bytedeco.opencv.global.opencv_imgproc.*;
import static org.bytedeco.opencv.global.opencv_imgcodecs.*;
import org.bytedeco.opencv.opencv_videoio.*;
import static org.bytedeco.opencv.global.opencv_videoio.*;
import org.bytedeco.opencv.opencv_highgui.*;
import static org.bytedeco.opencv.global.opencv_highgui.*;
import org.bytedeco.opencv.opencv_flann.*;
import static org.bytedeco.opencv.global.opencv_flann.*;

import static org.bytedeco.opencv.global.opencv_features2d.*;


/** \brief Maximally stable extremal region extractor

The class encapsulates all the parameters of the %MSER extraction algorithm (see [wiki article](http://en.wikipedia.org/wiki/Maximally_stable_extremal_regions)).

- there are two different implementation of %MSER: one for grey image, one for color image

- the grey image algorithm is taken from: \cite nister2008linear ; the paper claims to be faster than union-find method; it actually get 1.5~2m/s on my centrino L7200 1.2GHz laptop.

- the color image algorithm is taken from: \cite forssen2007maximally ; it should be much slower than grey image method ( 3~4 times ); the chi_table.h file is taken directly from paper's source code which is distributed under GPL.

- (Python) A complete example showing the use of the %MSER detector can be found at samples/python/mser.py */ @Namespace("cv") @Properties(inherit = org.bytedeco.opencv.presets.opencv_features2d.class) public class MSER extends Feature2D { static { Loader.load(); } /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ public MSER(Pointer p) { super(p); } /** \brief Full constructor for %MSER detector

@param _delta it compares {@code (size_{i}-size_{i-delta})/size_{i-delta}} @param _min_area prune the area which smaller than minArea @param _max_area prune the area which bigger than maxArea @param _max_variation prune the area have similar size to its children @param _min_diversity for color image, trace back to cut off mser with diversity less than min_diversity @param _max_evolution for color image, the evolution steps @param _area_threshold for color image, the area threshold to cause re-initialize @param _min_margin for color image, ignore too small margin @param _edge_blur_size for color image, the aperture size for edge blur */ public static native @Ptr MSER create( int _delta/*=5*/, int _min_area/*=60*/, int _max_area/*=14400*/, double _max_variation/*=0.25*/, double _min_diversity/*=.2*/, int _max_evolution/*=200*/, double _area_threshold/*=1.01*/, double _min_margin/*=0.003*/, int _edge_blur_size/*=5*/ ); public static native @Ptr MSER create( ); /** \brief Detect %MSER regions

@param image input image (8UC1, 8UC3 or 8UC4, must be greater or equal than 3x3) @param msers resulting list of point sets @param bboxes resulting bounding boxes */ public native void detectRegions( @ByVal Mat image, @ByRef PointVectorVector msers, @ByRef RectVector bboxes ); public native void detectRegions( @ByVal UMat image, @ByRef PointVectorVector msers, @ByRef RectVector bboxes ); public native void detectRegions( @ByVal GpuMat image, @ByRef PointVectorVector msers, @ByRef RectVector bboxes ); public native void setDelta(int delta); public native int getDelta(); public native void setMinArea(int minArea); public native int getMinArea(); public native void setMaxArea(int maxArea); public native int getMaxArea(); public native void setPass2Only(@Cast("bool") boolean f); public native @Cast("bool") boolean getPass2Only(); public native @Str @Override BytePointer getDefaultName(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy