001//
002// This file is auto-generated. Please don't modify it!
003//
004package org.opencv.photo;
005
006import java.util.ArrayList;
007import java.util.List;
008import org.opencv.core.Algorithm;
009import org.opencv.core.Mat;
010import org.opencv.utils.Converters;
011
012// C++: class AlignExposures
013/**
014 * The base class for algorithms that align images of the same scene with different exposures
015 */
016public class AlignExposures extends Algorithm {
017
018    protected AlignExposures(long addr) { super(addr); }
019
020    // internal usage only
021    public static AlignExposures __fromPtr__(long addr) { return new AlignExposures(addr); }
022
023    //
024    // C++:  void cv::AlignExposures::process(vector_Mat src, vector_Mat dst, Mat times, Mat response)
025    //
026
027    /**
028     * Aligns images
029     *
030     *     @param src vector of input images
031     *     @param dst vector of aligned images
032     *     @param times vector of exposure time values for each image
033     *     @param response 256x1 matrix with inverse camera response function for each pixel value, it should
034     *     have the same number of channels as images.
035     */
036    public void process(List<Mat> src, List<Mat> dst, Mat times, Mat response) {
037        Mat src_mat = Converters.vector_Mat_to_Mat(src);
038        Mat dst_mat = Converters.vector_Mat_to_Mat(dst);
039        process_0(nativeObj, src_mat.nativeObj, dst_mat.nativeObj, times.nativeObj, response.nativeObj);
040    }
041
042
043    @Override
044    protected void finalize() throws Throwable {
045        delete(nativeObj);
046    }
047
048
049
050    // C++:  void cv::AlignExposures::process(vector_Mat src, vector_Mat dst, Mat times, Mat response)
051    private static native void process_0(long nativeObj, long src_mat_nativeObj, long dst_mat_nativeObj, long times_nativeObj, long response_nativeObj);
052
053    // native support for java finalize()
054    private static native void delete(long nativeObj);
055
056}