vendor: OpenCV 5.0.0 snapshot at 40738fb16ceddb5fb3fea747585f7ce6abb0605b

This commit is contained in:
Gitea Mirror Bot
2026-08-22 00:10:33 +08:00
commit f7f077da11
6933 changed files with 2335208 additions and 0 deletions
+111
View File
@@ -0,0 +1,111 @@
{
"const_ignore_list": [
"CV_TM_.+",
"CV_COLORCVT_MAX",
"CV_.*Bayer.*",
"CV_YUV420(i|sp|p)2.+",
"CV_L?(BGRA?|RGBA?|GRAY|XYZ|YCrCb|Luv|Lab|HLS|YUV|HSV)\\d*2L?(BGRA?|RGBA?|GRAY|XYZ|YCrCb|Luv|Lab|HLS|YUV|HSV).*",
"CV_FLOODFILL_.+",
"CV_ADAPTIVE_THRESH_.+"
],
"const_private_list" : [
"CV_MOP_.+",
"CV_INTER_.+",
"CV_THRESH_.+",
"CV_INPAINT_.+",
"CV_RETR_.+",
"CV_CHAIN_APPROX_.+"
],
"missing_consts" : {
"Imgproc" : {
"private" : [
["IPL_BORDER_CONSTANT", 0 ],
["IPL_BORDER_REPLICATE", 1 ],
["IPL_BORDER_REFLECT", 2 ],
["IPL_BORDER_WRAP", 3 ],
["IPL_BORDER_REFLECT_101", 4 ],
["IPL_BORDER_TRANSPARENT", 5 ]
]
}
},
"ManualFuncs" : {
"Imgproc" : {
"getTextSize" : {
"j_code" : [
"\n",
"// C++: Size getTextSize(const String& text, int fontFace, double fontScale, int thickness, int* baseLine);",
"//javadoc:getTextSize(text, fontFace, fontScale, thickness, baseLine)",
"public static Size getTextSize(String text, int fontFace, double fontScale, int thickness, int[] baseLine) {",
" if(baseLine != null && baseLine.length != 1)",
" throw new java.lang.IllegalArgumentException(\"'baseLine' must be 'int[1]' or 'null'.\");",
" Size retVal = new Size(n_getTextSize(text, fontFace, fontScale, thickness, baseLine));",
" return retVal;",
"}",
"\n"
],
"jn_code" : [
"private static native double[] n_getTextSize(String text, int fontFace, double fontScale, int thickness, int[] baseLine);\n"
],
"cpp_code" : [
"\n",
" // C++: Size getTextSize(const String& text, int fontFace, double fontScale, int thickness, int* baseLine);",
" JNIEXPORT jdoubleArray JNICALL Java_org_opencv_imgproc_Imgproc_n_1getTextSize (JNIEnv*, jclass, jstring, jint, jdouble, jint, jintArray);",
"\n",
" JNIEXPORT jdoubleArray JNICALL Java_org_opencv_imgproc_Imgproc_n_1getTextSize",
" (JNIEnv* env, jclass, jstring text, jint fontFace, jdouble fontScale, jint thickness, jintArray baseLine)",
" {",
" try {",
" LOGD(\"Core::n_1getTextSize()\");",
" jdoubleArray result;",
" result = env->NewDoubleArray(2);",
" if (result == NULL) {",
" return NULL; /* out of memory error thrown */",
" }",
"\n",
" const char* utf_text = env->GetStringUTFChars(text, 0);",
" String n_text( utf_text ? utf_text : \"\" );",
" env->ReleaseStringUTFChars(text, utf_text);",
"\n",
" int _baseLine;",
" int* pbaseLine = 0;",
"\n",
" if (baseLine != NULL)",
" pbaseLine = &_baseLine;",
"\n",
" cv::Size rsize = cv::getTextSize(n_text, (int)fontFace, (double)fontScale, (int)thickness, pbaseLine);",
"\n",
" jdouble fill[2];",
" fill[0]=rsize.width;",
" fill[1]=rsize.height;",
"\n",
" env->SetDoubleArrayRegion(result, 0, 2, fill);",
"\n",
" if (baseLine != NULL) {",
" jint jbaseLine = (jint)(*pbaseLine);",
" env->SetIntArrayRegion(baseLine, 0, 1, &jbaseLine);",
" }",
"\n",
" return result;",
"\n",
" } catch(const cv::Exception& e) {",
" LOGD(\"Imgproc::n_1getTextSize() caught cv::Exception: %s\", e.what());",
" jclass je = env->FindClass(\"org/opencv/core/CvException\");",
" if(!je) je = env->FindClass(\"java/lang/Exception\");",
" env->ThrowNew(je, e.what());",
" return NULL;",
" } catch (...) {",
" LOGD(\"Imgproc::n_1getTextSize() caught unknown exception (...)\");",
" jclass je = env->FindClass(\"java/lang/Exception\");",
" env->ThrowNew(je, \"Unknown exception in JNI code {core::getTextSize()}\");",
" return NULL;",
" }",
" }"
]
}
}
},
"func_arg_fix" : {
"drawContours" : {"contours" : {"ctype" : "vector_vector_Point"} },
"findContours" : {"contours" : {"ctype" : "vector_vector_Point"} }
}
}
@@ -0,0 +1,242 @@
package org.opencv.imgproc;
//javadoc:Moments
public class Moments {
public double m00;
public double m10;
public double m01;
public double m20;
public double m11;
public double m02;
public double m30;
public double m21;
public double m12;
public double m03;
public double mu20;
public double mu11;
public double mu02;
public double mu30;
public double mu21;
public double mu12;
public double mu03;
public double nu20;
public double nu11;
public double nu02;
public double nu30;
public double nu21;
public double nu12;
public double nu03;
public Moments(
double m00,
double m10,
double m01,
double m20,
double m11,
double m02,
double m30,
double m21,
double m12,
double m03)
{
this.m00 = m00;
this.m10 = m10;
this.m01 = m01;
this.m20 = m20;
this.m11 = m11;
this.m02 = m02;
this.m30 = m30;
this.m21 = m21;
this.m12 = m12;
this.m03 = m03;
this.completeState();
}
public Moments() {
this(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
public Moments(double[] vals) {
set(vals);
}
public void set(double[] vals) {
if (vals != null) {
m00 = vals.length > 0 ? vals[0] : 0;
m10 = vals.length > 1 ? vals[1] : 0;
m01 = vals.length > 2 ? vals[2] : 0;
m20 = vals.length > 3 ? vals[3] : 0;
m11 = vals.length > 4 ? vals[4] : 0;
m02 = vals.length > 5 ? vals[5] : 0;
m30 = vals.length > 6 ? vals[6] : 0;
m21 = vals.length > 7 ? vals[7] : 0;
m12 = vals.length > 8 ? vals[8] : 0;
m03 = vals.length > 9 ? vals[9] : 0;
this.completeState();
} else {
m00 = 0;
m10 = 0;
m01 = 0;
m20 = 0;
m11 = 0;
m02 = 0;
m30 = 0;
m21 = 0;
m12 = 0;
m03 = 0;
mu20 = 0;
mu11 = 0;
mu02 = 0;
mu30 = 0;
mu21 = 0;
mu12 = 0;
mu03 = 0;
nu20 = 0;
nu11 = 0;
nu02 = 0;
nu30 = 0;
nu21 = 0;
nu12 = 0;
nu03 = 0;
}
}
@Override
public String toString() {
return "Moments [ " +
"\n" +
"m00=" + m00 + ", " +
"\n" +
"m10=" + m10 + ", " +
"m01=" + m01 + ", " +
"\n" +
"m20=" + m20 + ", " +
"m11=" + m11 + ", " +
"m02=" + m02 + ", " +
"\n" +
"m30=" + m30 + ", " +
"m21=" + m21 + ", " +
"m12=" + m12 + ", " +
"m03=" + m03 + ", " +
"\n" +
"mu20=" + mu20 + ", " +
"mu11=" + mu11 + ", " +
"mu02=" + mu02 + ", " +
"\n" +
"mu30=" + mu30 + ", " +
"mu21=" + mu21 + ", " +
"mu12=" + mu12 + ", " +
"mu03=" + mu03 + ", " +
"\n" +
"nu20=" + nu20 + ", " +
"nu11=" + nu11 + ", " +
"nu02=" + nu02 + ", " +
"\n" +
"nu30=" + nu30 + ", " +
"nu21=" + nu21 + ", " +
"nu12=" + nu12 + ", " +
"nu03=" + nu03 + ", " +
"\n]";
}
protected void completeState()
{
double cx = 0, cy = 0;
double mu20, mu11, mu02;
double inv_m00 = 0.0;
if( Math.abs(this.m00) > 0.00000001 )
{
inv_m00 = 1. / this.m00;
cx = this.m10 * inv_m00;
cy = this.m01 * inv_m00;
}
// mu20 = m20 - m10*cx
mu20 = this.m20 - this.m10 * cx;
// mu11 = m11 - m10*cy
mu11 = this.m11 - this.m10 * cy;
// mu02 = m02 - m01*cy
mu02 = this.m02 - this.m01 * cy;
this.mu20 = mu20;
this.mu11 = mu11;
this.mu02 = mu02;
// mu30 = m30 - cx*(3*mu20 + cx*m10)
this.mu30 = this.m30 - cx * (3 * mu20 + cx * this.m10);
mu11 += mu11;
// mu21 = m21 - cx*(2*mu11 + cx*m01) - cy*mu20
this.mu21 = this.m21 - cx * (mu11 + cx * this.m01) - cy * mu20;
// mu12 = m12 - cy*(2*mu11 + cy*m10) - cx*mu02
this.mu12 = this.m12 - cy * (mu11 + cy * this.m10) - cx * mu02;
// mu03 = m03 - cy*(3*mu02 + cy*m01)
this.mu03 = this.m03 - cy * (3 * mu02 + cy * this.m01);
double inv_sqrt_m00 = Math.sqrt(Math.abs(inv_m00));
double s2 = inv_m00*inv_m00, s3 = s2*inv_sqrt_m00;
this.nu20 = this.mu20*s2;
this.nu11 = this.mu11*s2;
this.nu02 = this.mu02*s2;
this.nu30 = this.mu30*s3;
this.nu21 = this.mu21*s3;
this.nu12 = this.mu12*s3;
this.nu03 = this.mu03*s3;
}
public double get_m00() { return this.m00; }
public double get_m10() { return this.m10; }
public double get_m01() { return this.m01; }
public double get_m20() { return this.m20; }
public double get_m11() { return this.m11; }
public double get_m02() { return this.m02; }
public double get_m30() { return this.m30; }
public double get_m21() { return this.m21; }
public double get_m12() { return this.m12; }
public double get_m03() { return this.m03; }
public double get_mu20() { return this.mu20; }
public double get_mu11() { return this.mu11; }
public double get_mu02() { return this.mu02; }
public double get_mu30() { return this.mu30; }
public double get_mu21() { return this.mu21; }
public double get_mu12() { return this.mu12; }
public double get_mu03() { return this.mu03; }
public double get_nu20() { return this.nu20; }
public double get_nu11() { return this.nu11; }
public double get_nu02() { return this.nu02; }
public double get_nu30() { return this.nu30; }
public double get_nu21() { return this.nu21; }
public double get_nu12() { return this.nu12; }
public double get_nu03() { return this.nu03; }
public void set_m00(double m00) { this.m00 = m00; }
public void set_m10(double m10) { this.m10 = m10; }
public void set_m01(double m01) { this.m01 = m01; }
public void set_m20(double m20) { this.m20 = m20; }
public void set_m11(double m11) { this.m11 = m11; }
public void set_m02(double m02) { this.m02 = m02; }
public void set_m30(double m30) { this.m30 = m30; }
public void set_m21(double m21) { this.m21 = m21; }
public void set_m12(double m12) { this.m12 = m12; }
public void set_m03(double m03) { this.m03 = m03; }
public void set_mu20(double mu20) { this.mu20 = mu20; }
public void set_mu11(double mu11) { this.mu11 = mu11; }
public void set_mu02(double mu02) { this.mu02 = mu02; }
public void set_mu30(double mu30) { this.mu30 = mu30; }
public void set_mu21(double mu21) { this.mu21 = mu21; }
public void set_mu12(double mu12) { this.mu12 = mu12; }
public void set_mu03(double mu03) { this.mu03 = mu03; }
public void set_nu20(double nu20) { this.nu20 = nu20; }
public void set_nu11(double nu11) { this.nu11 = nu11; }
public void set_nu02(double nu02) { this.nu02 = nu02; }
public void set_nu30(double nu30) { this.nu30 = nu30; }
public void set_nu21(double nu21) { this.nu21 = nu21; }
public void set_nu12(double nu12) { this.nu12 = nu12; }
public void set_nu03(double nu03) { this.nu03 = nu03; }
}
File diff suppressed because it is too large Load Diff