Skip to content

Commit

Permalink
* Map std::vector of CameraParams, ImageFeatures, and `Matches…
Browse files Browse the repository at this point in the history
…Info` from `cv::detail` (issue bytedeco/javacv#2027)
  • Loading branch information
saudet committed May 16, 2023
1 parent f59c3ad commit 7882024
Show file tree
Hide file tree
Showing 92 changed files with 464 additions and 30 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

* Map `std::vector` of `CameraParams`, `ImageFeatures`, and `MatchesInfo` from `cv::detail` ([issue bytedeco/javacv#2027](https://github.com/bytedeco/javacv/issues/2027))
* Fix H.264 decoder of FFmpeg by increasing MAX_SLICES to 256 ([pull #1349](https://github.com/bytedeco/javacpp-presets/pull/1349))
* Link FFmpeg with latest version of VA-API libraries ([pull #1296](https://github.com/bytedeco/javacpp-presets/pull/1296))
* Build HDF5 with support for SZIP enabled ([pull #1334](https://github.com/bytedeco/javacpp-presets/pull/1334))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import org.bytedeco.opencv.opencv_stitching.*;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down Expand Up @@ -42,6 +43,15 @@
public class opencv_stitching extends org.bytedeco.opencv.presets.opencv_stitching {
static { Loader.load(); }

// Targeting ../opencv_stitching/CameraParamsVector.java


// Targeting ../opencv_stitching/ImageFeaturesVector.java


// Targeting ../opencv_stitching/MatchesInfoVector.java


// Parsed from <opencv2/stitching/detail/warpers.hpp>

/*M///////////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -270,30 +280,30 @@ public class opencv_stitching extends org.bytedeco.opencv.presets.opencv_stitchi
@Namespace("cv::detail") public static native void computeImageFeatures(
@Ptr Feature2D featuresFinder,
@ByVal MatVector images,
@StdVector ImageFeatures features,
@ByRef ImageFeaturesVector features,
@ByVal(nullValue = "cv::InputArrayOfArrays(cv::noArray())") MatVector masks);
@Namespace("cv::detail") public static native void computeImageFeatures(
@Ptr Feature2D featuresFinder,
@ByVal MatVector images,
@StdVector ImageFeatures features);
@ByRef ImageFeaturesVector features);
@Namespace("cv::detail") public static native void computeImageFeatures(
@Ptr Feature2D featuresFinder,
@ByVal UMatVector images,
@StdVector ImageFeatures features,
@ByRef ImageFeaturesVector features,
@ByVal(nullValue = "cv::InputArrayOfArrays(cv::noArray())") UMatVector masks);
@Namespace("cv::detail") public static native void computeImageFeatures(
@Ptr Feature2D featuresFinder,
@ByVal UMatVector images,
@StdVector ImageFeatures features);
@ByRef ImageFeaturesVector features);
@Namespace("cv::detail") public static native void computeImageFeatures(
@Ptr Feature2D featuresFinder,
@ByVal GpuMatVector images,
@StdVector ImageFeatures features,
@ByRef ImageFeaturesVector features,
@ByVal(nullValue = "cv::InputArrayOfArrays(cv::noArray())") GpuMatVector masks);
@Namespace("cv::detail") public static native void computeImageFeatures(
@Ptr Feature2D featuresFinder,
@ByVal GpuMatVector images,
@StdVector ImageFeatures features);
@ByRef ImageFeaturesVector features);

/** \brief
<p>
Expand Down Expand Up @@ -607,22 +617,22 @@ public class opencv_stitching extends org.bytedeco.opencv.presets.opencv_stitchi
// Auxiliary functions

// Returns matches graph representation in DOT language
@Namespace("cv::detail") public static native @Str BytePointer matchesGraphAsString(@ByRef StringVector pathes, @StdVector MatchesInfo pairwise_matches,
@Namespace("cv::detail") public static native @Str BytePointer matchesGraphAsString(@ByRef StringVector pathes, @ByRef MatchesInfoVector pairwise_matches,
float conf_threshold);

@Namespace("cv::detail") public static native @StdVector IntPointer leaveBiggestComponent(
@StdVector ImageFeatures features,
@StdVector MatchesInfo pairwise_matches,
@ByRef ImageFeaturesVector features,
@ByRef MatchesInfoVector pairwise_matches,
float conf_threshold);

@Namespace("cv::detail") public static native void findMaxSpanningTree(
int num_images, @StdVector MatchesInfo pairwise_matches,
int num_images, @Const @ByRef MatchesInfoVector pairwise_matches,
@ByRef Graph span_tree, @StdVector IntPointer centers);
@Namespace("cv::detail") public static native void findMaxSpanningTree(
int num_images, @StdVector MatchesInfo pairwise_matches,
int num_images, @Const @ByRef MatchesInfoVector pairwise_matches,
@ByRef Graph span_tree, @StdVector IntBuffer centers);
@Namespace("cv::detail") public static native void findMaxSpanningTree(
int num_images, @StdVector MatchesInfo pairwise_matches,
int num_images, @Const @ByRef MatchesInfoVector pairwise_matches,
@ByRef Graph span_tree, @StdVector int[] centers);

/** \} stitching_rotation */
Expand Down Expand Up @@ -972,14 +982,14 @@ public class opencv_stitching extends org.bytedeco.opencv.presets.opencv_stitchi
@param pairwise_matches Matches between all image pairs.
@param focals Estimated focal lengths for each camera.
*/
@Namespace("cv::detail") public static native void estimateFocal(@StdVector ImageFeatures features,
@StdVector MatchesInfo pairwise_matches,
@Namespace("cv::detail") public static native void estimateFocal(@Const @ByRef ImageFeaturesVector features,
@Const @ByRef MatchesInfoVector pairwise_matches,
@StdVector DoublePointer focals);
@Namespace("cv::detail") public static native void estimateFocal(@StdVector ImageFeatures features,
@StdVector MatchesInfo pairwise_matches,
@Namespace("cv::detail") public static native void estimateFocal(@Const @ByRef ImageFeaturesVector features,
@Const @ByRef MatchesInfoVector pairwise_matches,
@StdVector DoubleBuffer focals);
@Namespace("cv::detail") public static native void estimateFocal(@StdVector ImageFeatures features,
@StdVector MatchesInfo pairwise_matches,
@Namespace("cv::detail") public static native void estimateFocal(@Const @ByRef ImageFeaturesVector features,
@Const @ByRef MatchesInfoVector pairwise_matches,
@StdVector double[] focals);

@Namespace("cv::detail") public static native @Cast("bool") boolean calibrateRotatingCamera(@Const @ByRef MatVector Hs,@ByRef Mat K);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
// Targeted by JavaCPP version 1.5.9-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
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 org.bytedeco.opencv.opencv_features2d.*;
import static org.bytedeco.opencv.global.opencv_features2d.*;
import org.bytedeco.opencv.opencv_calib3d.*;
import static org.bytedeco.opencv.global.opencv_calib3d.*;
import org.bytedeco.opencv.opencv_dnn.*;
import static org.bytedeco.opencv.global.opencv_dnn.*;
import org.bytedeco.opencv.opencv_objdetect.*;
import static org.bytedeco.opencv.global.opencv_objdetect.*;
import org.bytedeco.opencv.opencv_video.*;
import static org.bytedeco.opencv.global.opencv_video.*;
import org.bytedeco.opencv.opencv_ml.*;
import static org.bytedeco.opencv.global.opencv_ml.*;
import org.bytedeco.opencv.opencv_shape.*;
import static org.bytedeco.opencv.global.opencv_shape.*;
import org.bytedeco.opencv.opencv_xfeatures2d.*;
import static org.bytedeco.opencv.global.opencv_xfeatures2d.*;

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

@Name("std::vector<cv::detail::CameraParams>") @Properties(inherit = org.bytedeco.opencv.presets.opencv_stitching.class)
public class CameraParamsVector extends Pointer {
static { Loader.load(); }
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
public CameraParamsVector(Pointer p) { super(p); }
public CameraParamsVector(CameraParams value) { this(1); put(0, value); }
public CameraParamsVector(CameraParams ... array) { this(array.length); put(array); }
public CameraParamsVector() { allocate(); }
public CameraParamsVector(long n) { allocate(n); }
private native void allocate();
private native void allocate(@Cast("size_t") long n);
public native @Name("operator =") @ByRef CameraParamsVector put(@ByRef CameraParamsVector x);

public boolean empty() { return size() == 0; }
public native long size();
public void clear() { resize(0); }
public native void resize(@Cast("size_t") long n);

@Index(function = "at") public native @ByRef CameraParams get(@Cast("size_t") long i);
public native CameraParamsVector put(@Cast("size_t") long i, CameraParams value);

public native @ByVal Iterator insert(@ByVal Iterator pos, @ByRef CameraParams value);
public native @ByVal Iterator erase(@ByVal Iterator pos);
public native @ByVal Iterator begin();
public native @ByVal Iterator end();
@NoOffset @Name("iterator") public static class Iterator extends Pointer {
public Iterator(Pointer p) { super(p); }
public Iterator() { }

public native @Name("operator ++") @ByRef Iterator increment();
public native @Name("operator ==") boolean equals(@ByRef Iterator it);
public native @Name("operator *") @ByRef @Const CameraParams get();
}

public CameraParams[] get() {
CameraParams[] array = new CameraParams[size() < Integer.MAX_VALUE ? (int)size() : Integer.MAX_VALUE];
for (int i = 0; i < array.length; i++) {
array[i] = get(i);
}
return array;
}
@Override public String toString() {
return java.util.Arrays.toString(get());
}

public CameraParams pop_back() {
long size = size();
CameraParams value = get(size - 1);
resize(size - 1);
return value;
}
public CameraParamsVector push_back(CameraParams value) {
long size = size();
resize(size + 1);
return put(size, value);
}
public CameraParamsVector put(CameraParams value) {
if (size() != 1) { resize(1); }
return put(0, value);
}
public CameraParamsVector put(CameraParams ... array) {
if (size() != array.length) { resize(array.length); }
for (int i = 0; i < array.length; i++) {
put(i, array[i]);
}
return this;
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package org.bytedeco.opencv.opencv_stitching;

import org.bytedeco.javacpp.annotation.Index;
import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
Expand Down
Loading

0 comments on commit 7882024

Please sign in to comment.