瀏覽代碼

1. 新增opencv库,用于图片清晰度判别
2. 新增人脸检测时的提示语

JaycePC 1 年之前
父節點
當前提交
25cd5b819a
共有 100 個文件被更改,包括 421543 次插入57 次删除
  1. 13 3
      app/build.gradle
  2. 3 0
      app/src/main/java/com/dlc/eboard/ui/SplashActivity.kt
  3. 84 47
      app/src/main/java/com/dlc/eboard/ui/auth/fragment/FaceDetectionFragment.java
  4. 86 0
      app/src/main/java/com/dlc/eboard/utils/ImageOpenCvUtils.java
  5. 4 5
      app/src/main/res/layout/activity_auth_four_choice.xml
  6. 2 2
      app/src/main/res/layout/fragment_face_detection.xml
  7. 197 0
      opencv/build.gradle
  8. 12213 0
      opencv/etc/haarcascades/haarcascade_eye.xml
  9. 22619 0
      opencv/etc/haarcascades/haarcascade_eye_tree_eyeglasses.xml
  10. 14382 0
      opencv/etc/haarcascades/haarcascade_frontalcatface.xml
  11. 13394 0
      opencv/etc/haarcascades/haarcascade_frontalcatface_extended.xml
  12. 24350 0
      opencv/etc/haarcascades/haarcascade_frontalface_alt.xml
  13. 20719 0
      opencv/etc/haarcascades/haarcascade_frontalface_alt2.xml
  14. 96484 0
      opencv/etc/haarcascades/haarcascade_frontalface_alt_tree.xml
  15. 33314 0
      opencv/etc/haarcascades/haarcascade_frontalface_default.xml
  16. 17030 0
      opencv/etc/haarcascades/haarcascade_fullbody.xml
  17. 7390 0
      opencv/etc/haarcascades/haarcascade_lefteye_2splits.xml
  18. 1404 0
      opencv/etc/haarcascades/haarcascade_license_plate_rus_16stages.xml
  19. 14056 0
      opencv/etc/haarcascades/haarcascade_lowerbody.xml
  20. 29690 0
      opencv/etc/haarcascades/haarcascade_profileface.xml
  21. 7407 0
      opencv/etc/haarcascades/haarcascade_righteye_2splits.xml
  22. 2656 0
      opencv/etc/haarcascades/haarcascade_russian_plate_number.xml
  23. 6729 0
      opencv/etc/haarcascades/haarcascade_smile.xml
  24. 28134 0
      opencv/etc/haarcascades/haarcascade_upperbody.xml
  25. 3768 0
      opencv/etc/lbpcascades/lbpcascade_frontalcatface.xml
  26. 1505 0
      opencv/etc/lbpcascades/lbpcascade_frontalface.xml
  27. 1469 0
      opencv/etc/lbpcascades/lbpcascade_frontalface_improved.xml
  28. 1275 0
      opencv/etc/lbpcascades/lbpcascade_profileface.xml
  29. 1279 0
      opencv/etc/lbpcascades/lbpcascade_silverware.xml
  30. 36 0
      opencv/etc/licenses/SoftFloat-COPYING.txt
  31. 202 0
      opencv/etc/licenses/ade-LICENSE
  32. 13 0
      opencv/etc/licenses/cpufeatures-LICENSE
  33. 4 0
      opencv/etc/licenses/cpufeatures-README.md
  34. 202 0
      opencv/etc/licenses/flatbuffers-LICENSE.txt
  35. 72 0
      opencv/etc/licenses/ippicv-EULA.txt
  36. 318 0
      opencv/etc/licenses/ippicv-readme.htm
  37. 2 0
      opencv/etc/licenses/ippicv-third-party-programs.txt
  38. 72 0
      opencv/etc/licenses/ippiw-EULA.txt
  39. 6 0
      opencv/etc/licenses/ippiw-support.txt
  40. 2 0
      opencv/etc/licenses/ippiw-third-party-programs.txt
  41. 7 0
      opencv/etc/licenses/ittnotify-LICENSE.BSD
  42. 65 0
      opencv/etc/licenses/ittnotify-LICENSE.GPL
  43. 135 0
      opencv/etc/licenses/libjpeg-turbo-LICENSE.md
  44. 258 0
      opencv/etc/licenses/libjpeg-turbo-README.ijg
  45. 371 0
      opencv/etc/licenses/libjpeg-turbo-README.md
  46. 39 0
      opencv/etc/licenses/libopenjp2-LICENSE
  47. 83 0
      opencv/etc/licenses/libopenjp2-README.md
  48. 134 0
      opencv/etc/licenses/libpng-LICENSE
  49. 184 0
      opencv/etc/licenses/libpng-README
  50. 21 0
      opencv/etc/licenses/libtiff-COPYRIGHT
  51. 28 0
      opencv/etc/licenses/mscr-chi_table_LICENSE.txt
  52. 21 0
      opencv/etc/licenses/openexr-AUTHORS.ilmbase
  53. 49 0
      opencv/etc/licenses/openexr-AUTHORS.openexr
  54. 34 0
      opencv/etc/licenses/openexr-LICENSE
  55. 32 0
      opencv/etc/licenses/protobuf-LICENSE
  56. 3 0
      opencv/etc/licenses/protobuf-README.md
  57. 201 0
      opencv/etc/licenses/tbb-LICENSE.txt
  58. 57 0
      opencv/etc/licenses/tbb-README.md
  59. 21 0
      opencv/etc/licenses/vasot-LICENSE.txt
  60. 289 0
      opencv/etc/valgrind.supp
  61. 230 0
      opencv/etc/valgrind_3rdparty.supp
  62. 4 0
      opencv/java/AndroidManifest.xml
  63. 204 0
      opencv/java/javadoc/allclasses-frame.html
  64. 204 0
      opencv/java/javadoc/allclasses-noframe.html
  65. 10951 0
      opencv/java/javadoc/constant-values.html
  66. 239 0
      opencv/java/javadoc/help-doc.html
  67. 14793 0
      opencv/java/javadoc/index-all.html
  68. 76 0
      opencv/java/javadoc/index.html
  69. 23 0
      opencv/java/javadoc/mymath.js
  70. 231 0
      opencv/java/javadoc/org/opencv/android/Camera2Renderer.html
  71. 385 0
      opencv/java/javadoc/org/opencv/android/CameraActivity.html
  72. 281 0
      opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html
  73. 289 0
      opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html
  74. 289 0
      opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html
  75. 260 0
      opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html
  76. 382 0
      opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html
  77. 720 0
      opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.html
  78. 439 0
      opencv/java/javadoc/org/opencv/android/CameraGLRendererBase.html
  79. 302 0
      opencv/java/javadoc/org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html
  80. 550 0
      opencv/java/javadoc/org/opencv/android/CameraGLSurfaceView.html
  81. 313 0
      opencv/java/javadoc/org/opencv/android/CameraRenderer.html
  82. 334 0
      opencv/java/javadoc/org/opencv/android/FpsMeter.html
  83. 319 0
      opencv/java/javadoc/org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html
  84. 373 0
      opencv/java/javadoc/org/opencv/android/JavaCamera2View.html
  85. 319 0
      opencv/java/javadoc/org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html
  86. 414 0
      opencv/java/javadoc/org/opencv/android/JavaCameraView.html
  87. 319 0
      opencv/java/javadoc/org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html
  88. 400 0
      opencv/java/javadoc/org/opencv/android/NativeCameraView.html
  89. 382 0
      opencv/java/javadoc/org/opencv/android/OpenCVLoader.html
  90. 459 0
      opencv/java/javadoc/org/opencv/android/Utils.html
  91. 43 0
      opencv/java/javadoc/org/opencv/android/package-frame.html
  92. 260 0
      opencv/java/javadoc/org/opencv/android/package-summary.html
  93. 212 0
      opencv/java/javadoc/org/opencv/android/package-tree.html
  94. 18858 0
      opencv/java/javadoc/org/opencv/calib3d/Calib3d.html
  95. 647 0
      opencv/java/javadoc/org/opencv/calib3d/StereoBM.html
  96. 513 0
      opencv/java/javadoc/org/opencv/calib3d/StereoMatcher.html
  97. 1244 0
      opencv/java/javadoc/org/opencv/calib3d/StereoSGBM.html
  98. 640 0
      opencv/java/javadoc/org/opencv/calib3d/UsacParams.html
  99. 25 0
      opencv/java/javadoc/org/opencv/calib3d/package-frame.html
  100. 0 0
      opencv/java/javadoc/org/opencv/calib3d/package-summary.html

+ 13 - 3
app/build.gradle

@@ -29,14 +29,21 @@ android {
         }
     }
 
+
     buildTypes {
         debug {
+            packagingOptions {
+                doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts
+            }
             minifyEnabled false
             multiDexEnabled true
             signingConfig signingConfigs.signing
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         release {
+            packagingOptions {
+                doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts
+            }
 //            minifyEnabled true
 //            multiDexEnabled true
 //            signingConfig signingConfigs.signing
@@ -44,11 +51,11 @@ android {
         }
     }
     compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_8
-        targetCompatibility JavaVersion.VERSION_1_8
+        sourceCompatibility JavaVersion.VERSION_17
+        targetCompatibility JavaVersion.VERSION_17
     }
     kotlinOptions {
-        jvmTarget = '1.8'
+        jvmTarget = '17'
     }
 //    kotlin {
 //        experimental {
@@ -104,6 +111,7 @@ dependencies {
     implementation "com.joanzapata.pdfview:android-pdfview:1.0.4@aar"
     implementation 'androidx.activity:activity:1.8.0'
     implementation files('libs\\smdt.jar')
+    implementation project(':opencv')
 
     // CameraX core library using the camera2 implementation
     def camerax_version = "1.4.0-rc01"
@@ -142,5 +150,7 @@ dependencies {
     implementation 'com.github.jenly1314.MLKit:mlkit-barcode-scanning:2.2.1'
     //人脸检测 (可选)
     implementation 'com.github.jenly1314.MLKit:mlkit-face-detection:2.2.1'
+    // opencv
+//    implementation 'com.quickbirdstudios:opencv:3.4.15'
 
 }

+ 3 - 0
app/src/main/java/com/dlc/eboard/ui/SplashActivity.kt

@@ -24,6 +24,7 @@ import com.rc.core.util.ApkUpdater
 import com.rc.core.util.DeviceUtils
 import com.rc.httpcore.client.ApiRepository
 import com.tbruyelle.rxpermissions2.RxPermissions
+import org.opencv.android.OpenCVLoader
 
 
 /**
@@ -37,6 +38,7 @@ class SplashActivity : RcBaseActivity<ActivitySplashBinding>() {
     override fun createViewBinding() = ActivitySplashBinding.inflate(LayoutInflater.from(this))
 
     override fun initViews(savedInstanceState: Bundle?) {
+
         val smdtManagerNew = SmdtManagerNew.getInstance(this)
         if (smdtManagerNew != null) {
             // 设置导航栏不可见
@@ -79,6 +81,7 @@ class SplashActivity : RcBaseActivity<ActivitySplashBinding>() {
     override fun onPostCreate(savedInstanceState: Bundle?) {
         super.onPostCreate(savedInstanceState)
         requestPermission()
+        LogUtils.d("Jayce", OpenCVLoader.initDebug())
     }
 
     private fun requestPermission() {

+ 84 - 47
app/src/main/java/com/dlc/eboard/ui/auth/fragment/FaceDetectionFragment.java

@@ -21,8 +21,10 @@ import com.dlc.eboard.LabApp;
 import com.dlc.eboard.databinding.FragmentFaceDetectionBinding;
 import com.dlc.eboard.ui.auth.AuthType;
 import com.dlc.eboard.ui.auth.OnAuthResultListener;
+import com.dlc.eboard.utils.ImageOpenCvUtils;
 import com.dlc.eboard.utils.SharedPreferencesUtil;
 import com.google.mlkit.vision.face.Face;
+import com.google.mlkit.vision.face.FaceDetectorOptions;
 import com.king.camera.scan.AnalyzeResult;
 import com.king.camera.scan.BaseCameraScan;
 import com.king.camera.scan.CameraScan;
@@ -60,7 +62,7 @@ public class FaceDetectionFragment extends RcBaseFragment<FragmentFaceDetectionB
     protected void initViews(@Nullable Bundle savedInstanceState) {
         PreviewView previewView = getViewBinding().previewView;
         mCameraScan = new BaseCameraScan<>(this, previewView);
-        FaceDetectionAnalyzer faceDetectionAnalyzer = new FaceDetectionAnalyzer();
+        FaceDetectionAnalyzer faceDetectionAnalyzer = new FaceDetectionAnalyzer(new FaceDetectorOptions.Builder().setClassificationMode(FaceDetectorOptions.CLASSIFICATION_MODE_ALL).setLandmarkMode(FaceDetectorOptions.LANDMARK_MODE_ALL).build());
         mCameraScan.setAnalyzer(faceDetectionAnalyzer).setOnScanResultCallback(this);
         if ("0".equals(SharedPreferencesUtil.INSTANCE.getString(requireActivity(), "0"))) {
             mCameraScan.setCameraConfig(CameraConfigFactory.createDefaultCameraConfig(requireActivity(), CameraSelector.LENS_FACING_FRONT));
@@ -123,65 +125,100 @@ public class FaceDetectionFragment extends RcBaseFragment<FragmentFaceDetectionB
     @Override
     public void onScanResultCallback(@NonNull AnalyzeResult<List<Face>> result) {
         mCameraScan.setAnalyzeImage(false);
+        getViewBinding().cameraTips.setText("");
         // 子线程处理人脸结果
         bitmapSimpleTask = new ThreadUtils.SimpleTask<String>() {
             @Override
             public String doInBackground() throws Throwable {
-                Bitmap srcBitmap = result.getBitmap();
-                List<Face> faceList = result.getResult();
-                Face face = findMaxFace(faceList);
-                if (null == face) {
-                    mCameraScan.setAnalyzeImage(true);
-                } else {
-                    Rect faceRect = face.getBoundingBox();
-                    Bitmap faceBitmap;
-                    try {
-                        int x = faceRect.left;
-                        int y = faceRect.top;
-                        if (x < 0) x = 0;
-                        if (y < 0) y = 0;
-                        faceBitmap = ImageUtils.clip(srcBitmap, x, y, faceRect.width(), faceRect.height());
-                    } catch (Exception e) {
-                        faceBitmap = srcBitmap;
-                    }
-                    File faceFile = new File(requireActivity().getExternalFilesDir("photos"), System.currentTimeMillis() + ".jpg");
-                    // 保存成功
-                    if (ImageUtils.save(faceBitmap, faceFile, Bitmap.CompressFormat.JPEG)) {
-                        LogUtils.e("Jayce", "保存成功发起人脸识别", faceFile.getAbsolutePath());
-                        addDisposable(ApiRepository.INSTANCE.authFace(faceFile, LabApp.sLabConfig.labId).subscribe(userVo -> {
-                            LogUtils.e("Jayce", "接口调用成功", userVo.toString());
-                            MediaUtils.INSTANCE.deleteFile(faceFile);
-                            FragmentActivity activity = requireActivity();
-                            if (activity instanceof OnAuthResultListener) {
-                                ((OnAuthResultListener) activity).onAuthSuccess(AuthType.FACE, userVo);
-                            }
-                        }, throwable -> {
-                            LogUtils.e("Jayce", "接口调用失败", throwable.getMessage());
-                            MediaUtils.INSTANCE.deleteFile(faceFile);
-                            LogUtils.e("Jayce", throwable.getMessage(), throwable.getLocalizedMessage());
-                            if (!pretreatmentError(throwable)) {
-                                showNetError(throwable);
-                                throwable.printStackTrace();
-                            }
-                        }));
-                    } else {
-                        LogUtils.e("Jayce", "保存失败", faceFile.getAbsolutePath());
+                try {
+                    Bitmap srcBitmap = result.getBitmap();
+                    List<Face> faceList = result.getResult();
+                    // 找出最大人脸
+                    Face face = findMaxFace(faceList);
+                    if (null == face) {
                         mCameraScan.setAnalyzeImage(true);
+                    } else {
+                        // 角度是否否和预期
+                        if (!isHeadEulerAngleAccord(face)) {
+                            mCameraScan.setAnalyzeImage(true);
+                            LogUtils.d("Jayce", "人脸角度不符合预期",
+                                    face.getHeadEulerAngleY(),
+                                    face.getHeadEulerAngleX(),
+                                    face.getHeadEulerAngleZ());
+                            return "请调整人脸角度重试";
+                        }
+                        // 人脸框
+                        Rect faceRect = face.getBoundingBox();
+                        if (faceRect.top < 0 || faceRect.right < 0 || faceRect.bottom < 0 || faceRect.left < 0) {
+                            LogUtils.d("Jayce", "人脸不全", faceRect);
+                            mCameraScan.setAnalyzeImage(true);
+                            return "请正视摄像头重试";
+                        }
+                        // 裁剪人脸
+                        Bitmap faceBitmap;
+                        try {
+                            faceBitmap = ImageUtils.clip(srcBitmap, faceRect.left, faceRect.top, faceRect.width(), faceRect.height());
+                        } catch (Exception e) {
+                            faceBitmap = srcBitmap;
+                        }
+                        // 检测图片清晰度
+                        double clarity = ImageOpenCvUtils.imageClarity(faceBitmap);
+                        if (9.5 > clarity) {
+                            mCameraScan.setAnalyzeImage(true);
+                            LogUtils.d("Jayce", "清晰度过低", clarity);
+                            return "请稳定正视摄像头重试";
+                        }
+                        File faceFile = new File(requireActivity().getExternalFilesDir("photos"), System.currentTimeMillis() + ".jpg");
+                        // 保存成功
+                        if (ImageUtils.save(faceBitmap, faceFile, Bitmap.CompressFormat.JPEG)) {
+                            LogUtils.e("Jayce", "保存成功发起人脸识别", faceFile.getAbsolutePath());
+                            addDisposable(ApiRepository.INSTANCE.authFace(faceFile, LabApp.sLabConfig.labId).subscribe(userVo -> {
+                                LogUtils.e("Jayce", "接口调用成功", userVo.toString());
+                                MediaUtils.INSTANCE.deleteFile(faceFile);
+                                FragmentActivity activity = requireActivity();
+                                if (activity instanceof OnAuthResultListener) {
+                                    ((OnAuthResultListener) activity).onAuthSuccess(AuthType.FACE, userVo);
+                                }
+                            }, throwable -> {
+                                LogUtils.e("Jayce", "接口调用失败", throwable.getMessage());
+                                MediaUtils.INSTANCE.deleteFile(faceFile);
+                                LogUtils.e("Jayce", throwable.getMessage(), throwable.getLocalizedMessage());
+                                if (!pretreatmentError(throwable)) {
+                                    showNetError(throwable);
+                                    throwable.printStackTrace();
+                                }
+                            }));
+                        } else {
+                            LogUtils.e("Jayce", "保存失败", faceFile.getAbsolutePath());
+                            mCameraScan.setAnalyzeImage(true);
+                        }
                     }
-
+                } catch (Exception e) {
+                    mCameraScan.setAnalyzeImage(true);
+                    LogUtils.e(e.getMessage());
                 }
-
                 return "";
             }
 
             @Override
             public void onSuccess(String str) {
-//                getViewBinding().faceIV.setImageBitmap(faceBitmap);
+                if (null != str) {
+                    getViewBinding().cameraTips.setText(str);
+                }
             }
         };
         ThreadUtils.executeByCached(bitmapSimpleTask);
     }
 
+    /**
+     * 人脸角度是否符合预期
+     */
+    private Boolean isHeadEulerAngleAccord(Face face) {
+        return face.getHeadEulerAngleY() < 10 && face.getHeadEulerAngleY() > -10 &&
+                face.getHeadEulerAngleX() < 10 && face.getHeadEulerAngleX() > -10 &&
+                face.getHeadEulerAngleZ() < 10 && face.getHeadEulerAngleZ() > -10;
+    }
+
     private AlertDialog errDialog;
 
     /**
@@ -196,14 +233,14 @@ public class FaceDetectionFragment extends RcBaseFragment<FragmentFaceDetectionB
                     errDialog = new AlertDialog.Builder(requireActivity())
                             .setCancelable(false)
                             .setTitle("提示")
-                            .setMessage(throwable.getMessage())
-                            .setPositiveButton("确定", (dialog, which) -> mCameraScan.setAnalyzeImage(true)).show();
+                            .setMessage(throwable.getMessage() + ",亦可重试.")
+                            .setPositiveButton("知道了", (dialog, which) -> mCameraScan.setAnalyzeImage(true)).show();
                 } else {
                     if (errDialog.isShowing()) {
                         errDialog.dismiss();
-                        errDialog.setMessage(throwable.getMessage());
-                        errDialog.show();
                     }
+                    errDialog.setMessage(throwable.getMessage());
+                    errDialog.show();
                 }
 
             } else {

+ 86 - 0
app/src/main/java/com/dlc/eboard/utils/ImageOpenCvUtils.java

@@ -0,0 +1,86 @@
+package com.dlc.eboard.utils;
+
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
+import org.opencv.android.Utils;
+import org.opencv.core.Core;
+import org.opencv.core.CvType;
+import org.opencv.core.Mat;
+import org.opencv.core.MatOfDouble;
+import org.opencv.imgproc.Imgproc;
+
+public class ImageOpenCvUtils {
+    private static final String TAG = "ImageOpenCvUtils";
+
+    public static final double DOUBLE_EPSILON = Double.longBitsToDouble(1);
+
+    private ImageOpenCvUtils() {
+
+    }
+
+
+    /**
+     * 校验图片是否清晰
+     *
+     * @param src 图片路径
+     * @return 大于9.5 算清晰, 按实际情况
+     */
+    public static double imageClarity(String src) {
+        Bitmap bitmap = null;
+        try {
+            bitmap = BitmapFactory.decodeFile(src);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (bitmap == null) {
+            return 0.0D;
+        }
+        return imageClarity(bitmap);
+    }
+
+    /**
+     * 校验图片是否清晰
+     *
+     * @param bitmap bitmap图,不能为空
+     * @return 返回清晰度,一般大于9.5算清晰。
+     */
+    public static double imageClarity(Bitmap bitmap) {
+        if (bitmap == null) {
+            return 0.0D;
+        }
+
+        Mat imageSource = new Mat();
+        Utils.bitmapToMat(bitmap, imageSource);
+
+        Mat imageGrey = new Mat();
+        Imgproc.cvtColor(imageSource, imageGrey, Imgproc.COLOR_RGB2GRAY);
+        Mat sobelX = new Mat();
+        Mat sobelY = new Mat();
+        Mat lastImage = new Mat();
+
+        // 用Sobel算子对图像进行处理
+        Imgproc.Sobel(imageGrey, sobelX, CvType.CV_8U, 1, 0);
+        Imgproc.Sobel(imageGrey, sobelY, CvType.CV_8U, 0, 1);
+        Core.addWeighted(sobelX, 0.5, sobelY, 0.5, 0.0, lastImage);
+
+        MatOfDouble meanDev = new MatOfDouble();
+        MatOfDouble stdDev = new MatOfDouble();
+        Core.meanStdDev(lastImage, meanDev, stdDev);
+
+        double[] result = stdDev.get(0, 0);
+
+        imageSource.release();
+        imageGrey.release();
+        sobelX.release();
+        sobelY.release();
+        lastImage.release();
+        meanDev.release();
+        stdDev.release();
+
+        if (result != null && result.length > 0) {
+            return result[0];
+        }
+        return 0;
+    }
+}

+ 4 - 5
app/src/main/res/layout/activity_auth_four_choice.xml

@@ -34,12 +34,12 @@
         android:layout_marginStart="17dp"
         android:layout_marginTop="7dp"
         android:layout_marginEnd="17dp"
-        android:layout_marginBottom="50dp"
+        android:layout_marginBottom="10dp"
         android:background="@drawable/shape_rect_round_11_solid_white_20p"
         android:paddingStart="17dp"
         android:paddingTop="20dp"
         android:paddingEnd="17dp"
-        android:paddingBottom="20dp"
+        android:paddingBottom="10dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
@@ -47,9 +47,8 @@
 
         <com.rc.core.ui.widget.SwipeViewPager
             android:id="@+id/viewPager"
-            android:layout_width="800px"
-            android:layout_height="600px"
-            android:layout_marginBottom="5dp"
+            android:layout_width="1280px"
+            android:layout_height="720px"
             app:layout_constraintBottom_toTopOf="@id/tabLabel"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"

+ 2 - 2
app/src/main/res/layout/fragment_face_detection.xml

@@ -18,8 +18,8 @@
         android:layout_marginTop="17dp"
         android:layout_marginBottom="80dp"
         android:text="请正视摄像头"
-        android:textColor="@android:color/white"
-        android:textSize="17sp" />
+        android:textColor="#FF0183FA"
+        android:textSize="21sp" />
 
     <ImageView
         android:id="@+id/face_IV"

+ 197 - 0
opencv/build.gradle

@@ -0,0 +1,197 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html.
+
+//
+// Notes about integration OpenCV into existed Android Studio application project are below (application 'app' module should exist).
+//
+// This file is located in <OpenCV-android-sdk>/sdk directory (near 'etc', 'java', 'native' subdirectories)
+//
+// Add module into Android Studio application project:
+//
+// - Android Studio way:
+//   (will copy almost all OpenCV Android SDK into your project, ~200Mb)
+//
+//   Import module: Menu -> "File" -> "New" -> "Module" -> "Import Gradle project":
+//   Source directory: select this "sdk" directory
+//   Module name: ":opencv"
+//
+// - or attach library module from OpenCV Android SDK
+//   (without copying into application project directory, allow to share the same module between projects)
+//
+//   Edit "settings.gradle" and add these lines:
+//
+//   def opencvsdk='<path_to_opencv_android_sdk_rootdir>'
+//   // You can put declaration above into gradle.properties file instead (including file in HOME directory),
+//   // but without 'def' and apostrophe symbols ('): opencvsdk=<path_to_opencv_android_sdk_rootdir>
+//   include ':opencv'
+//   project(':opencv').projectDir = new File(opencvsdk + '/sdk')
+//
+//
+//
+// Add dependency into application module:
+//
+// - Android Studio way:
+//   "Open Module Settings" (F4) -> "Dependencies" tab
+//
+// - or add "project(':opencv')" dependency into app/build.gradle:
+//
+//   dependencies {
+//       implementation fileTree(dir: 'libs', include: ['*.jar'])
+//       ...
+//       implementation project(':opencv')
+//   }
+//
+//
+//
+// Load OpenCV native library before using:
+//
+// - avoid using of "OpenCVLoader.initAsync()" approach - it is deprecated
+//   It may load library with different version (from OpenCV Android Manager, which is installed separatelly on device)
+//
+// - use "System.loadLibrary("opencv_java4")" or "OpenCVLoader.initDebug()"
+//   TODO: Add accurate API to load OpenCV native library
+//
+//
+//
+// Native C++ support (necessary to use OpenCV in native code of application only):
+//
+// - Use find_package() in app/CMakeLists.txt:
+//
+//   find_package(OpenCV 4.10 REQUIRED java)
+//   ...
+//   target_link_libraries(native-lib ${OpenCV_LIBRARIES})
+//
+// - Add "OpenCV_DIR" and enable C++ exceptions/RTTI support via app/build.gradle
+//   Documentation about CMake options: https://developer.android.com/ndk/guides/cmake.html
+//
+//   defaultConfig {
+//       ...
+//       externalNativeBuild {
+//           cmake {
+//               cppFlags "-std=c++11 -frtti -fexceptions"
+//               arguments "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni" // , "-DANDROID_ARM_NEON=TRUE"
+//           }
+//       }
+//   }
+//
+// - (optional) Limit/filter ABIs to build ('android' scope of 'app/build.gradle'):
+//   Useful information: https://developer.android.com/studio/build/gradle-tips.html (Configure separate APKs per ABI)
+//
+//   splits {
+//       abi {
+//           enable true
+//           universalApk false
+//           reset()
+//           include 'armeabi-v7a' // , 'x86', 'x86_64', 'arm64-v8a'
+//       }
+//   }
+//
+
+apply plugin: 'com.android.library'
+apply plugin: 'maven-publish'
+apply plugin: 'kotlin-android'
+
+def openCVersionName = "4.10.0"
+def openCVersionCode = ((4 * 100 + 10) * 100 + 0) * 10 + 0
+
+println "OpenCV: " +openCVersionName + " " + project.buildscript.sourceFile
+
+android {
+    namespace 'org.opencv'
+    compileSdkVersion 31
+
+    defaultConfig {
+        minSdkVersion 21
+        targetSdkVersion 31
+
+        versionCode openCVersionCode
+        versionName openCVersionName
+
+        externalNativeBuild {
+            cmake {
+                arguments "-DANDROID_ARM_NEON=TRUE", "-DANDROID_PLATFORM=android-21","-DANDROID_STL=c++_shared"
+                targets "opencv_jni_shared"
+            }
+        }
+
+        ndk {
+            abiFilters "armeabi-v7a"/*, "arm64-v8a", "x86"*/
+        }
+    }
+
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_17
+        targetCompatibility JavaVersion.VERSION_17
+    }
+
+    buildTypes {
+        debug {
+            packagingOptions {
+                doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts
+            }
+        }
+        release {
+            packagingOptions {
+                doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts
+            }
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
+        }
+    }
+
+    buildFeatures {
+        prefabPublishing true
+        buildConfig true
+    }
+    prefab {
+        opencv_jni_shared {
+            headers "native/jni/include"
+        }
+    }
+
+    sourceSets {
+        main {
+            jniLibs.srcDirs = ['native/libs']
+            java.srcDirs = ['java/src']
+            res.srcDirs = ['java/res']
+            manifest.srcFile 'java/AndroidManifest.xml'
+        }
+    }
+
+    publishing {
+        singleVariant('release') {
+            withSourcesJar()
+            withJavadocJar()
+        }
+    }
+
+    externalNativeBuild {
+        cmake {
+            path (project.projectDir.toString() + '/libcxx_helper/CMakeLists.txt')
+        }
+    }
+}
+
+publishing {
+    publications {
+        release(MavenPublication) {
+            groupId = 'org.opencv'
+            artifactId = 'opencv'
+            version = '4.10.0'
+
+            afterEvaluate {
+               from components.release
+           }
+        }
+    }
+    repositories {
+        maven {
+            name = 'myrepo'
+            url = "${project.buildDir}/repo"
+        }
+    }
+}
+
+dependencies {
+}

文件差異過大導致無法顯示
+ 12213 - 0
opencv/etc/haarcascades/haarcascade_eye.xml


文件差異過大導致無法顯示
+ 22619 - 0
opencv/etc/haarcascades/haarcascade_eye_tree_eyeglasses.xml


文件差異過大導致無法顯示
+ 14382 - 0
opencv/etc/haarcascades/haarcascade_frontalcatface.xml


文件差異過大導致無法顯示
+ 13394 - 0
opencv/etc/haarcascades/haarcascade_frontalcatface_extended.xml


文件差異過大導致無法顯示
+ 24350 - 0
opencv/etc/haarcascades/haarcascade_frontalface_alt.xml


文件差異過大導致無法顯示
+ 20719 - 0
opencv/etc/haarcascades/haarcascade_frontalface_alt2.xml


文件差異過大導致無法顯示
+ 96484 - 0
opencv/etc/haarcascades/haarcascade_frontalface_alt_tree.xml


文件差異過大導致無法顯示
+ 33314 - 0
opencv/etc/haarcascades/haarcascade_frontalface_default.xml


文件差異過大導致無法顯示
+ 17030 - 0
opencv/etc/haarcascades/haarcascade_fullbody.xml


文件差異過大導致無法顯示
+ 7390 - 0
opencv/etc/haarcascades/haarcascade_lefteye_2splits.xml


文件差異過大導致無法顯示
+ 1404 - 0
opencv/etc/haarcascades/haarcascade_license_plate_rus_16stages.xml


文件差異過大導致無法顯示
+ 14056 - 0
opencv/etc/haarcascades/haarcascade_lowerbody.xml


文件差異過大導致無法顯示
+ 29690 - 0
opencv/etc/haarcascades/haarcascade_profileface.xml


文件差異過大導致無法顯示
+ 7407 - 0
opencv/etc/haarcascades/haarcascade_righteye_2splits.xml


文件差異過大導致無法顯示
+ 2656 - 0
opencv/etc/haarcascades/haarcascade_russian_plate_number.xml


文件差異過大導致無法顯示
+ 6729 - 0
opencv/etc/haarcascades/haarcascade_smile.xml


文件差異過大導致無法顯示
+ 28134 - 0
opencv/etc/haarcascades/haarcascade_upperbody.xml


文件差異過大導致無法顯示
+ 3768 - 0
opencv/etc/lbpcascades/lbpcascade_frontalcatface.xml


文件差異過大導致無法顯示
+ 1505 - 0
opencv/etc/lbpcascades/lbpcascade_frontalface.xml


文件差異過大導致無法顯示
+ 1469 - 0
opencv/etc/lbpcascades/lbpcascade_frontalface_improved.xml


文件差異過大導致無法顯示
+ 1275 - 0
opencv/etc/lbpcascades/lbpcascade_profileface.xml


文件差異過大導致無法顯示
+ 1279 - 0
opencv/etc/lbpcascades/lbpcascade_silverware.xml


+ 36 - 0
opencv/etc/licenses/SoftFloat-COPYING.txt

@@ -0,0 +1,36 @@
+
+License for Berkeley SoftFloat Release 3c
+
+John R. Hauser
+2017 February 10
+
+The following applies to the whole of SoftFloat Release 3c as well as to
+each source file individually.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
+University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 202 - 0
opencv/etc/licenses/ade-LICENSE

@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

+ 13 - 0
opencv/etc/licenses/cpufeatures-LICENSE

@@ -0,0 +1,13 @@
+Copyright (C) 2016 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.

+ 4 - 0
opencv/etc/licenses/cpufeatures-README.md

@@ -0,0 +1,4 @@
+The Android NDK provides a small library named cpufeatures that your app can use at runtime to detect the target device's CPU family and the optional features it supports.
+It is designed to work as-is on all official Android platform versions.
+
+https://developer.android.com/ndk/guides/cpu-features.html

+ 202 - 0
opencv/etc/licenses/flatbuffers-LICENSE.txt

@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

+ 72 - 0
opencv/etc/licenses/ippicv-EULA.txt

@@ -0,0 +1,72 @@
+Intel Simplified Software License (Version October 2022)
+
+Intel(R) Integrated Performance Primitives (Intel(R) IPP) : Copyright (C) 1997 Intel Corporation
+
+Use and Redistribution. You may use and redistribute the software, which is
+provided in binary form only, (the "Software"), without modification,
+provided the following conditions are met:
+
+* Redistributions must reproduce the above copyright notice and these
+  terms of use in the Software and in the documentation and/or other materials
+  provided with the distribution.
+* Neither the name of Intel nor the names of its suppliers may be used to
+  endorse or promote products derived from this Software without specific
+  prior written permission.
+* No reverse engineering, decompilation, or disassembly of the Software is
+  permitted, nor any modification or alteration of the Software or its operation
+  at any time, including during execution.
+
+No other licenses. Except as provided in the preceding section, Intel grants no
+licenses or other rights by implication, estoppel or otherwise to, patent,
+copyright, trademark, trade name, service mark or other intellectual property
+licenses or rights of Intel.
+
+Third party software.  "Third Party Software" means the files (if any) listed
+in the "third-party-software.txt" or other similarly-named text file that may
+be included with the Software. Third Party Software, even if included with the
+distribution of the Software, may be governed by separate license terms, including
+without limitation, third party license terms, open source software notices and
+terms, and/or other Intel software license terms. These separate license terms
+solely govern Your use of the Third Party Software.
+
+DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
+DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
+WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE
+THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND
+ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT
+INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE.
+
+LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+No support. Intel may make changes to the Software, at any time without notice,
+and is not obligated to support, update or provide training for the Software. 
+
+Termination. Your right to use the Software is terminated in the event of your
+breach of this license.
+
+Feedback. Should you provide Intel with comments, modifications, corrections,
+enhancements or other input ("Feedback") related to the Software, Intel will be
+free to use, disclose, reproduce, license or otherwise distribute or exploit the
+Feedback in its sole discretion without any obligations or restrictions of any
+kind, including without limitation, intellectual property rights or licensing
+obligations.
+
+Compliance with laws. You agree to comply with all relevant laws and regulations
+governing your use, transfer, import or export (or prohibition thereof) of the
+Software.
+
+Governing law. All disputes will be governed by the laws of the United States of
+America and the State of Delaware without reference to conflict of law
+principles and subject to the exclusive jurisdiction of the state or federal
+courts sitting in the State of Delaware, and each party agrees that it submits
+to the personal jurisdiction and venue of those courts and waives any
+objections. THE UNITED NATIONS CONVENTION ON CONTRACTS FOR THE INTERNATIONAL
+SALE OF GOODS (1980) IS SPECIFICALLY EXCLUDED AND WILL NOT APPLY TO THE SOFTWARE.

+ 318 - 0
opencv/etc/licenses/ippicv-readme.htm

@@ -0,0 +1,318 @@
+<html>
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=UTF-8">
+<title>Intel&reg; Integrated Performance Primitives (Intel&reg; IPP) Library for OpenCV*</title>
+<style>
+body { 
+	color:#333333;
+	background-color:#ffffff; 
+	font-family: Verdana, Arial, sans-serif; 
+	font-size: 10pt; 
+	margin-left: 30px;
+}
+p { 
+	font-size: inherit; 
+	line-height: 120%; 
+	margin-top: 0; 
+	margin-bottom: 5pt;
+	margin-left: 0;
+}
+p.Note { 
+	margin-top:0; 
+	margin-left:25px;
+	margin-bottom:10pt;
+}
+p.twoColumnListHead { 
+	color:#000000; 
+/*	padding:4px; */
+/*	text-align:left; */
+/*	width:auto; */
+	margin-top:0; 
+	margin-bottom:0; 
+/*	margin-left:0; */
+	font-weight:bold;
+}	
+p.pRelatedLink { 
+	margin-top: 0px; 
+	margin-bottom: 0px;
+}
+table { 
+	margin-bottom:5pt; 
+	border-collapse:collapse; 
+	margin-top:0.3em; 
+	font-size: 10pt;
+}	
+td { 
+	border: 1px #bababa solid; 
+	vertical-align: top; 
+	font-size: inherit;
+	margin-bottom: 0px;
+}
+td, P.TableCell, td p, td h3 { 
+	margin-top: 0; 
+	margin-left: 0;
+	padding: 4px; 
+	text-align: left; 
+	font-size: inherit; 
+	line-height: 120%;
+}
+td p.TableCell, td p, td h3{
+	padding:0;
+}
+tr { 
+	vertical-align:top;
+}
+td.noBorder { 
+	border:0px none;
+}
+th { 
+	padding: 4px; 
+	text-align: left; 
+	background-color: #555555; 
+	font-weight: bold; 
+	margin-top: 0; 
+	margin-bottom: 0; 
+	color: #FFFFFF; 
+	font-size: 11pt;	
+}
+th { 
+	border:1px #bababa solid;
+}
+th h3.TableHead, th h3 { 
+	padding:0;
+}		
+h3.TableHead{ 
+	padding: 4px; 
+	text-align: left; 
+	background-color: #555555; 
+	font-weight: bold; 
+	margin-top: 0; 
+	margin-bottom: 0; 
+	color: #FFFFFF; 
+	font-size: 11pt;	
+}
+h1 {
+	color: #0860a8;
+	font-size: 15pt;
+	padding-bottom: 1px;
+	margin-left: 0pt;
+	margin-bottom: 0px;
+	border-bottom: 1px solid #0860A8;
+	font-weight: normal;
+}
+h1.title { 
+	border-bottom:0 none; 
+	margin-left:0;
+	font-weight: normal;
+}
+h2 {
+	color: #0860a8;
+	font-weight: lighter;
+	margin-top: 5pt;
+	margin-bottom: 0;
+	font-size: 13pt;
+}
+h3 {
+	color: #333333;
+	font-weight: bold;
+	margin-top: 5pt;
+	margin-bottom: 0;
+	font-size: 10.5pt;
+}
+h3.NoteTipHead {
+	color:#006699;
+	margin-top:11pt;
+	padding-bottom:0;
+	line-height: 18px;
+	text-transform: uppercase;
+}
+h3.NoteTipHead img {
+	vertical-align: middle;
+}
+ul { 
+	margin-bottom: 1em; 
+	font-size: inherit; 
+	margin-top: 0px; 
+	line-height: 100%; 
+}
+ul ol { 
+	margin-bottom: 0em; 
+	font-size: inherit;
+	list-style-type: decimal;
+}
+ul ul { 
+	margin-bottom:0px; 
+	font-size:inherit;
+}
+ul.Note {
+	margin-left:25px;
+}
+td ul { 
+	font-size:inherit;
+}
+ol { 
+	margin-bottom: 1em; 
+	font-size: inherit; 
+	margin-top: 0px; 
+	line-height: 100%;
+	list-style-type: decimal;
+}
+ol ol { 
+	list-style: lower-alpha; 
+	margin-bottom: 0em; 
+	font-size: inherit;
+}
+ol.Note {
+	margin-left:25px;
+}
+td ol { 
+	font-size:inherit;
+}
+ol ul { 
+	margin-bottom:0px; 
+	font-size:inherit;
+}
+li { 
+	font-size: inherit; 
+	margin-top: 0px; 
+	line-height: 130%;
+}
+li p, ol p, ul p { 
+	margin-bottom:0.2em; 
+	margin-top:0.2em; 
+	margin-left:0; 
+	padding-left:0; 
+	font-size:inherit;
+}
+li table, td table, dd table { 
+	margin-left:0;
+}
+
+P.Preformatted, pre { 
+	x-text-tab-stops: repeat 1in; 
+	margin-top:0; 
+	margin-bottom:0; 
+	font-size: 10pt; 
+	font-family: "Courier New", Courier, monospace; 
+	background-color: #eeeeee;
+}
+td P.Preformatted, td pre { 
+	/* line-height: 90%; */
+	x-text-tab-stops: repeat 1in; 
+	margin-top:0; 
+	margin-bottom:0; 
+	margin-left: 0px;
+	font-size: 10pt; 
+	font-family: "Courier New", Courier, monospace; 
+	background-color: #eeeeee;
+}
+SPAN.Code, span.aCode, .Code { 
+	font-family: "Courier New", Courier, monospace;
+}
+var, span.Variable {
+	font-family: Courier, monospace;
+	font-style: italic;
+}
+blockquote { 
+	margin-top: 0; 
+	margin-bottom: 0;
+}
+HR { 
+	color: #555555; 
+	border: 0; 
+	background: #555555; 
+	height: 1px; 
+	margin-left: 0;
+}
+SPAN.Big { 
+	font-weight:bold; 
+	font-size:105%;
+}
+.welcomeImg { 
+	padding-left: 0px; 
+	padding-bottom: 0px; 
+	margin-left: 0px;
+}
+.IntelExt {
+	color:#008080;
+} 
+dl { 
+	margin-bottom: 1em; 
+	font-size: inherit; 
+	margin-top: 0px; 
+	
+}	
+dt { 
+	font-weight: bold; 
+	margin-top: 1em;
+}
+dd {
+	font-size: inherit; 
+/*	margin-top: -1.2em; */
+	margin-top: 0;
+
+}
+dd p {
+	margin-bottom: 0.2em; 
+	margin-top: 0.2em; 
+	font-size: inherit;
+}
+.link_buttons {
+	background-color: #EEEEEE;
+	border-color: #EEEEEE;
+	border-width: 1px;
+	padding: 4px;
+}
+a:link {
+	color: #0860a8;
+	text-decoration: none;
+}
+a:visited { 
+	color:#0860a8;
+	text-decoration: none;	
+}
+a:active {
+	color: #0860a8;
+	text-decoration: underline;
+}
+a:hover {
+	color: #0860a8;
+	text-decoration: underline;
+}
+sup {
+	font-size: 80%;
+	vertical-align: top;
+}
+
+</style>
+</head>
+<body>
+<h1>Intel&reg; Integrated Performance Primitives (Intel&reg; IPP) Library for OpenCV*</h1>
+
+<p></p>
+<p>Intel&reg; Integrated Performance Primitives (Intel&reg; IPP) library for OpenCV* is a subset of Intel&reg; IPP functions for image processing and computer vision.
+<p>For detailed descriptions of Intel&reg; IPP functions and interfaces, refer to the Intel&reg; IPP Developer Reference available from the Intel&reg; IPP documentation
+web page at 
+<a href="https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp-documentation.html">https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp-documentation.html</a>. 
+<p>Note that not all functions described in the Developer Reference are included in the Intel IPP library for OpenCV.
+
+
+<h2><a name="legal"></a>Legal Information</h2>
+
+<p>
+No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
+<p>
+Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
+<p>
+This document contains information on products, services and/or processes in development.  All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.
+<p>
+The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request.
+<p>
+Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.
+<p>
+*Other names and brands may be claimed as the property of others.
+<p>
+Copyright &copy; 2016 Intel Corporation All Rights Reserved.
+
+</body>
+</html>

+ 2 - 0
opencv/etc/licenses/ippicv-third-party-programs.txt

@@ -0,0 +1,2 @@
+This third-party-programs.txt file applies to the Intel(R) Integrated Performance Primitives 2021 Update 0
+There are not any Third Party Programs (as defined in the Agreement) included in this version of the Intel(R) Integrated Performance Primitives.

+ 72 - 0
opencv/etc/licenses/ippiw-EULA.txt

@@ -0,0 +1,72 @@
+Intel Simplified Software License (Version October 2022)
+
+Intel(R) Integrated Performance Primitives (Intel(R) IPP) : Copyright (C) 1997 Intel Corporation
+
+Use and Redistribution. You may use and redistribute the software, which is
+provided in binary form only, (the "Software"), without modification,
+provided the following conditions are met:
+
+* Redistributions must reproduce the above copyright notice and these
+  terms of use in the Software and in the documentation and/or other materials
+  provided with the distribution.
+* Neither the name of Intel nor the names of its suppliers may be used to
+  endorse or promote products derived from this Software without specific
+  prior written permission.
+* No reverse engineering, decompilation, or disassembly of the Software is
+  permitted, nor any modification or alteration of the Software or its operation
+  at any time, including during execution.
+
+No other licenses. Except as provided in the preceding section, Intel grants no
+licenses or other rights by implication, estoppel or otherwise to, patent,
+copyright, trademark, trade name, service mark or other intellectual property
+licenses or rights of Intel.
+
+Third party software.  "Third Party Software" means the files (if any) listed
+in the "third-party-software.txt" or other similarly-named text file that may
+be included with the Software. Third Party Software, even if included with the
+distribution of the Software, may be governed by separate license terms, including
+without limitation, third party license terms, open source software notices and
+terms, and/or other Intel software license terms. These separate license terms
+solely govern Your use of the Third Party Software.
+
+DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
+DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
+WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE
+THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND
+ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT
+INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE.
+
+LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+No support. Intel may make changes to the Software, at any time without notice,
+and is not obligated to support, update or provide training for the Software. 
+
+Termination. Your right to use the Software is terminated in the event of your
+breach of this license.
+
+Feedback. Should you provide Intel with comments, modifications, corrections,
+enhancements or other input ("Feedback") related to the Software, Intel will be
+free to use, disclose, reproduce, license or otherwise distribute or exploit the
+Feedback in its sole discretion without any obligations or restrictions of any
+kind, including without limitation, intellectual property rights or licensing
+obligations.
+
+Compliance with laws. You agree to comply with all relevant laws and regulations
+governing your use, transfer, import or export (or prohibition thereof) of the
+Software.
+
+Governing law. All disputes will be governed by the laws of the United States of
+America and the State of Delaware without reference to conflict of law
+principles and subject to the exclusive jurisdiction of the state or federal
+courts sitting in the State of Delaware, and each party agrees that it submits
+to the personal jurisdiction and venue of those courts and waives any
+objections. THE UNITED NATIONS CONVENTION ON CONTRACTS FOR THE INTERNATIONAL
+SALE OF GOODS (1980) IS SPECIFICALLY EXCLUDED AND WILL NOT APPLY TO THE SOFTWARE.

+ 6 - 0
opencv/etc/licenses/ippiw-support.txt

@@ -0,0 +1,6 @@
+Please use the following information when submitting customer support requests:
+
+Package ID: ippicv_2021.11.0_lnx_ia32_20240201_general
+Package Contents: Intel(R) Integrated Performance Primitives for OpenCV 2021 Update 0
+
+Please direct customer support requests through http://www.intel.com/software/products/support

+ 2 - 0
opencv/etc/licenses/ippiw-third-party-programs.txt

@@ -0,0 +1,2 @@
+This third-party-programs.txt file applies to the Intel(R) Integrated Performance Primitives 2021 Update 0
+There are not any Third Party Programs (as defined in the Agreement) included in this version of the Intel(R) Integrated Performance Primitives.

文件差異過大導致無法顯示
+ 7 - 0
opencv/etc/licenses/ittnotify-LICENSE.BSD


文件差異過大導致無法顯示
+ 65 - 0
opencv/etc/licenses/ittnotify-LICENSE.GPL


+ 135 - 0
opencv/etc/licenses/libjpeg-turbo-LICENSE.md

@@ -0,0 +1,135 @@
+libjpeg-turbo Licenses
+======================
+
+libjpeg-turbo is covered by two compatible BSD-style open source licenses:
+
+- The IJG (Independent JPEG Group) License, which is listed in
+  [README.ijg](README.ijg)
+
+  This license applies to the libjpeg API library and associated programs,
+  including any code inherited from libjpeg and any modifications to that
+  code.  Note that the libjpeg-turbo SIMD source code bears the
+  [zlib License](https://opensource.org/licenses/Zlib), but in the context of
+  the overall libjpeg API library, the terms of the zlib License are subsumed
+  by the terms of the IJG License.
+
+- The Modified (3-clause) BSD License, which is listed below
+
+  This license applies to the TurboJPEG API library and associated programs, as
+  well as the build system.  Note that the TurboJPEG API library wraps the
+  libjpeg API library, so in the context of the overall TurboJPEG API library,
+  both the terms of the IJG License and the terms of the Modified (3-clause)
+  BSD License apply.
+
+
+Complying with the libjpeg-turbo Licenses
+=========================================
+
+This section provides a roll-up of the libjpeg-turbo licensing terms, to the
+best of our understanding.  This is not a license in and of itself.  It is
+intended solely for clarification.
+
+1.  If you are distributing a modified version of the libjpeg-turbo source,
+    then:
+
+    1.  You cannot alter or remove any existing copyright or license notices
+        from the source.
+
+        **Origin**
+        - Clause 1 of the IJG License
+        - Clause 1 of the Modified BSD License
+        - Clauses 1 and 3 of the zlib License
+
+    2.  You must add your own copyright notice to the header of each source
+        file you modified, so others can tell that you modified that file.  (If
+        there is not an existing copyright header in that file, then you can
+        simply add a notice stating that you modified the file.)
+
+        **Origin**
+        - Clause 1 of the IJG License
+        - Clause 2 of the zlib License
+
+    3.  You must include the IJG README file, and you must not alter any of the
+        copyright or license text in that file.
+
+        **Origin**
+        - Clause 1 of the IJG License
+
+2.  If you are distributing only libjpeg-turbo binaries without the source, or
+    if you are distributing an application that statically links with
+    libjpeg-turbo, then:
+
+    1.  Your product documentation must include a message stating:
+
+        This software is based in part on the work of the Independent JPEG
+        Group.
+
+        **Origin**
+        - Clause 2 of the IJG license
+
+    2.  If your binary distribution includes or uses the TurboJPEG API, then
+        your product documentation must include the text of the Modified BSD
+        License (see below.)
+
+        **Origin**
+        - Clause 2 of the Modified BSD License
+
+3.  You cannot use the name of the IJG or The libjpeg-turbo Project or the
+    contributors thereof in advertising, publicity, etc.
+
+    **Origin**
+    - IJG License
+    - Clause 3 of the Modified BSD License
+
+4.  The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be
+    free of defects, nor do we accept any liability for undesirable
+    consequences resulting from your use of the software.
+
+    **Origin**
+    - IJG License
+    - Modified BSD License
+    - zlib License
+
+
+The Modified (3-clause) BSD License
+===================================
+
+Copyright (C)2009-2023 D. R. Commander.  All Rights Reserved.<br>
+Copyright (C)2015 Viktor Szathmáry.  All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+- Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+- Neither the name of the libjpeg-turbo Project nor the names of its
+  contributors may be used to endorse or promote products derived from this
+  software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+Why Two Licenses?
+=================
+
+The zlib License could have been used instead of the Modified (3-clause) BSD
+License, and since the IJG License effectively subsumes the distribution
+conditions of the zlib License, this would have effectively placed
+libjpeg-turbo binary distributions under the IJG License.  However, the IJG
+License specifically refers to the Independent JPEG Group and does not extend
+attribution and endorsement protections to other entities.  Thus, it was
+desirable to choose a license that granted us the same protections for new code
+that were granted to the IJG for code derived from their software.

+ 258 - 0
opencv/etc/licenses/libjpeg-turbo-README.ijg

@@ -0,0 +1,258 @@
+libjpeg-turbo note:  This file has been modified by The libjpeg-turbo Project
+to include only information relevant to libjpeg-turbo, to wordsmith certain
+sections, and to remove impolitic language that existed in the libjpeg v8
+README.  It is included only for reference.  Please see README.md for
+information specific to libjpeg-turbo.
+
+
+The Independent JPEG Group's JPEG software
+==========================================
+
+This distribution contains a release of the Independent JPEG Group's free JPEG
+software.  You are welcome to redistribute this software and to use it for any
+purpose, subject to the conditions under LEGAL ISSUES, below.
+
+This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone,
+Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson,
+Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers,
+and other members of the Independent JPEG Group.
+
+IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee
+(also known as JPEG, together with ITU-T SG16).
+
+
+DOCUMENTATION ROADMAP
+=====================
+
+This file contains the following sections:
+
+OVERVIEW            General description of JPEG and the IJG software.
+LEGAL ISSUES        Copyright, lack of warranty, terms of distribution.
+REFERENCES          Where to learn more about JPEG.
+ARCHIVE LOCATIONS   Where to find newer versions of this software.
+FILE FORMAT WARS    Software *not* to get.
+TO DO               Plans for future IJG releases.
+
+Other documentation files in the distribution are:
+
+User documentation:
+  usage.txt         Usage instructions for cjpeg, djpeg, jpegtran,
+                    rdjpgcom, and wrjpgcom.
+  *.1               Unix-style man pages for programs (same info as usage.txt).
+  wizard.txt        Advanced usage instructions for JPEG wizards only.
+  change.log        Version-to-version change highlights.
+Programmer and internal documentation:
+  libjpeg.txt       How to use the JPEG library in your own programs.
+  example.c         Sample code for calling the JPEG library.
+  structure.txt     Overview of the JPEG library's internal structure.
+  coderules.txt     Coding style rules --- please read if you contribute code.
+
+Please read at least usage.txt.  Some information can also be found in the JPEG
+FAQ (Frequently Asked Questions) article.  See ARCHIVE LOCATIONS below to find
+out where to obtain the FAQ article.
+
+If you want to understand how the JPEG code works, we suggest reading one or
+more of the REFERENCES, then looking at the documentation files (in roughly
+the order listed) before diving into the code.
+
+
+OVERVIEW
+========
+
+This package contains C software to implement JPEG image encoding, decoding,
+and transcoding.  JPEG (pronounced "jay-peg") is a standardized compression
+method for full-color and grayscale images.  JPEG's strong suit is compressing
+photographic images or other types of images that have smooth color and
+brightness transitions between neighboring pixels.  Images with sharp lines or
+other abrupt features may not compress well with JPEG, and a higher JPEG
+quality may have to be used to avoid visible compression artifacts with such
+images.
+
+JPEG is normally lossy, meaning that the output pixels are not necessarily
+identical to the input pixels.  However, on photographic content and other
+"smooth" images, very good compression ratios can be obtained with no visible
+compression artifacts, and extremely high compression ratios are possible if
+you are willing to sacrifice image quality (by reducing the "quality" setting
+in the compressor.)
+
+This software implements JPEG baseline, extended-sequential, progressive, and
+lossless compression processes.  Provision is made for supporting all variants
+of these processes, although some uncommon parameter settings aren't
+implemented yet.  We have made no provision for supporting the hierarchical
+processes defined in the standard.
+
+We provide a set of library routines for reading and writing JPEG image files,
+plus two sample applications "cjpeg" and "djpeg", which use the library to
+perform conversion between JPEG and some other popular image file formats.
+The library is intended to be reused in other applications.
+
+In order to support file conversion and viewing software, we have included
+considerable functionality beyond the bare JPEG coding/decoding capability;
+for example, the color quantization modules are not strictly part of JPEG
+decoding, but they are essential for output to colormapped file formats or
+colormapped displays.  These extra functions can be compiled out of the
+library if not required for a particular application.
+
+We have also included "jpegtran", a utility for lossless transcoding between
+different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
+applications for inserting and extracting textual comments in JFIF files.
+
+The emphasis in designing this software has been on achieving portability and
+flexibility, while also making it fast enough to be useful.  In particular,
+the software is not intended to be read as a tutorial on JPEG.  (See the
+REFERENCES section for introductory material.)  Rather, it is intended to
+be reliable, portable, industrial-strength code.  We do not claim to have
+achieved that goal in every aspect of the software, but we strive for it.
+
+We welcome the use of this software as a component of commercial products.
+No royalty is required, but we do ask for an acknowledgement in product
+documentation, as described under LEGAL ISSUES.
+
+
+LEGAL ISSUES
+============
+
+In plain English:
+
+1. We don't promise that this software works.  (But if you find any bugs,
+   please let us know!)
+2. You can use this software for whatever you want.  You don't have to pay us.
+3. You may not pretend that you wrote this software.  If you use it in a
+   program, you must acknowledge somewhere in your documentation that
+   you've used the IJG code.
+
+In legalese:
+
+The authors make NO WARRANTY or representation, either express or implied,
+with respect to this software, its quality, accuracy, merchantability, or
+fitness for a particular purpose.  This software is provided "AS IS", and you,
+its user, assume the entire risk as to its quality and accuracy.
+
+This software is copyright (C) 1991-2020, Thomas G. Lane, Guido Vollbeding.
+All Rights Reserved except as specified below.
+
+Permission is hereby granted to use, copy, modify, and distribute this
+software (or portions thereof) for any purpose, without fee, subject to these
+conditions:
+(1) If any part of the source code for this software is distributed, then this
+README file must be included, with this copyright and no-warranty notice
+unaltered; and any additions, deletions, or changes to the original files
+must be clearly indicated in accompanying documentation.
+(2) If only executable code is distributed, then the accompanying
+documentation must state that "this software is based in part on the work of
+the Independent JPEG Group".
+(3) Permission for use of this software is granted only if the user accepts
+full responsibility for any undesirable consequences; the authors accept
+NO LIABILITY for damages of any kind.
+
+These conditions apply to any software derived from or based on the IJG code,
+not just to the unmodified library.  If you use our work, you ought to
+acknowledge us.
+
+Permission is NOT granted for the use of any IJG author's name or company name
+in advertising or publicity relating to this software or products derived from
+it.  This software may be referred to only as "the Independent JPEG Group's
+software".
+
+We specifically permit and encourage the use of this software as the basis of
+commercial products, provided that all warranty or liability claims are
+assumed by the product vendor.
+
+
+REFERENCES
+==========
+
+We recommend reading one or more of these references before trying to
+understand the innards of the JPEG software.
+
+The best short technical introduction to the JPEG compression algorithm is
+        Wallace, Gregory K.  "The JPEG Still Picture Compression Standard",
+        Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
+(Adjacent articles in that issue discuss MPEG motion picture compression,
+applications of JPEG, and related topics.)  If you don't have the CACM issue
+handy, a PDF file containing a revised version of Wallace's article is
+available at http://www.ijg.org/files/Wallace.JPEG.pdf.  The file (actually
+a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
+omits the sample images that appeared in CACM, but it includes corrections
+and some added material.  Note: the Wallace article is copyright ACM and IEEE,
+and it may not be used for commercial purposes.
+
+A somewhat less technical, more leisurely introduction to JPEG can be found in
+"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by
+M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1.  This book provides
+good explanations and example C code for a multitude of compression methods
+including JPEG.  It is an excellent source if you are comfortable reading C
+code but don't know much about data compression in general.  The book's JPEG
+sample code is far from industrial-strength, but when you are ready to look
+at a full implementation, you've got one here...
+
+The best currently available description of JPEG is the textbook "JPEG Still
+Image Data Compression Standard" by William B. Pennebaker and Joan L.
+Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
+Price US$59.95, 638 pp.  The book includes the complete text of the ISO JPEG
+standards (DIS 10918-1 and draft DIS 10918-2).
+
+The original JPEG standard is divided into two parts, Part 1 being the actual
+specification, while Part 2 covers compliance testing methods.  Part 1 is
+titled "Digital Compression and Coding of Continuous-tone Still Images,
+Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
+10918-1, ITU-T T.81.  Part 2 is titled "Digital Compression and Coding of
+Continuous-tone Still Images, Part 2: Compliance testing" and has document
+numbers ISO/IEC IS 10918-2, ITU-T T.83.
+
+The JPEG standard does not specify all details of an interchangeable file
+format.  For the omitted details, we follow the "JFIF" conventions, revision
+1.02.  JFIF version 1 has been adopted as ISO/IEC 10918-5 (05/2013) and
+Recommendation ITU-T T.871 (05/2011): Information technology - Digital
+compression and coding of continuous-tone still images: JPEG File Interchange
+Format (JFIF).  It is available as a free download in PDF file format from
+https://www.iso.org/standard/54989.html and http://www.itu.int/rec/T-REC-T.871.
+A PDF file of the older JFIF 1.02 specification is available at
+http://www.w3.org/Graphics/JPEG/jfif3.pdf.
+
+The TIFF 6.0 file format specification can be obtained from
+http://mirrors.ctan.org/graphics/tiff/TIFF6.ps.gz.  The JPEG incorporation
+scheme found in the TIFF 6.0 spec of 3-June-92 has a number of serious
+problems.  IJG does not recommend use of the TIFF 6.0 design (TIFF Compression
+tag 6).  Instead, we recommend the JPEG design proposed by TIFF Technical Note
+#2 (Compression tag 7).  Copies of this Note can be obtained from
+http://www.ijg.org/files/.  It is expected that the next revision
+of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
+Although IJG's own code does not support TIFF/JPEG, the free libtiff library
+uses our library to implement TIFF/JPEG per the Note.
+
+
+ARCHIVE LOCATIONS
+=================
+
+The "official" archive site for this software is www.ijg.org.
+The most recent released version can always be found there in
+directory "files".
+
+The JPEG FAQ (Frequently Asked Questions) article is a source of some
+general information about JPEG.  It is available at
+http://www.faqs.org/faqs/jpeg-faq.
+
+
+FILE FORMAT COMPATIBILITY
+=========================
+
+This software implements ITU T.81 | ISO/IEC 10918 with some extensions from
+ITU T.871 | ISO/IEC 10918-5 (JPEG File Interchange Format-- see REFERENCES).
+Informally, the term "JPEG image" or "JPEG file" most often refers to JFIF or
+a subset thereof, but there are other formats containing the name "JPEG" that
+are incompatible with the original JPEG standard or with JFIF (for instance,
+JPEG 2000 and JPEG XR).  This software therefore does not support these
+formats.  Indeed, one of the original reasons for developing this free software
+was to help force convergence on a common, interoperable format standard for
+JPEG files.
+
+JFIF is a minimal or "low end" representation.  TIFF/JPEG (TIFF revision 6.0 as
+modified by TIFF Technical Note #2) can be used for "high end" applications
+that need to record a lot of additional data about an image.
+
+
+TO DO
+=====
+
+Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org.

+ 371 - 0
opencv/etc/licenses/libjpeg-turbo-README.md

@@ -0,0 +1,371 @@
+Background
+==========
+
+libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate
+baseline JPEG compression and decompression on x86, x86-64, Arm, PowerPC, and
+MIPS systems, as well as progressive JPEG compression on x86, x86-64, and Arm
+systems.  On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg,
+all else being equal.  On other types of systems, libjpeg-turbo can still
+outperform libjpeg by a significant amount, by virtue of its highly-optimized
+Huffman coding routines.  In many cases, the performance of libjpeg-turbo
+rivals that of proprietary high-speed JPEG codecs.
+
+libjpeg-turbo implements both the traditional libjpeg API as well as the less
+powerful but more straightforward TurboJPEG API.  libjpeg-turbo also features
+colorspace extensions that allow it to compress from/decompress to 32-bit and
+big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java
+interface.
+
+libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated
+derivative of libjpeg v6b developed by Miyasaka Masaru.  The TigerVNC and
+VirtualGL projects made numerous enhancements to the codec in 2009, and in
+early 2010, libjpeg-turbo spun off into an independent project, with the goal
+of making high-speed JPEG compression/decompression technology available to a
+broader range of users and developers.  libjpeg-turbo is an ISO/IEC and ITU-T
+reference implementation of the JPEG standard.
+
+More information about libjpeg-turbo can be found at
+<https://libjpeg-turbo.org>.
+
+
+Funding
+=======
+
+libjpeg-turbo is an independent open source project, but we rely on patronage
+and funded development in order to maintain that independence.  The easiest way
+to ensure that libjpeg-turbo remains community-focused and free of any one
+organization's agenda is to
+[sponsor our project through GitHub](https://github.com/sponsors/libjpeg-turbo).
+All sponsorship money goes directly toward funding the labor necessary to
+maintain libjpeg-turbo, support the user community, and implement bug fixes and
+strategically important features.
+
+[![Sponsor libjpeg-turbo](https://img.shields.io/github/sponsors/libjpeg-turbo?label=Sponsor&logo=GitHub)](https://github.com/sponsors/libjpeg-turbo)
+
+
+License
+=======
+
+libjpeg-turbo is covered by three compatible BSD-style open source licenses.
+Refer to [LICENSE.md](LICENSE.md) for a roll-up of license terms.
+
+
+Building libjpeg-turbo
+======================
+
+Refer to [BUILDING.md](BUILDING.md) for complete instructions.
+
+
+Using libjpeg-turbo
+===================
+
+libjpeg-turbo includes two APIs that can be used to compress and decompress
+JPEG images:
+
+- **TurboJPEG API**<br>
+  This API provides an easy-to-use interface for compressing and decompressing
+  JPEG images in memory.  It also provides some functionality that would not be
+  straightforward to achieve using the underlying libjpeg API, such as
+  generating planar YUV images and performing multiple simultaneous lossless
+  transforms on an image.  The Java interface for libjpeg-turbo is written on
+  top of the TurboJPEG API.  The TurboJPEG API is recommended for first-time
+  users of libjpeg-turbo.  Refer to [tjexample.c](tjexample.c) and
+  [TJExample.java](java/TJExample.java) for examples of its usage and to
+  <http://libjpeg-turbo.org/Documentation/Documentation> for API documentation.
+
+- **libjpeg API**<br>
+  This is the de facto industry-standard API for compressing and decompressing
+  JPEG images.  It is more difficult to use than the TurboJPEG API but also
+  more powerful.  The libjpeg API implementation in libjpeg-turbo is both
+  API/ABI-compatible and mathematically compatible with libjpeg v6b.  It can
+  also optionally be configured to be API/ABI-compatible with libjpeg v7 and v8
+  (see below.)  Refer to [cjpeg.c](cjpeg.c) and [djpeg.c](djpeg.c) for examples
+  of its usage and to [libjpeg.txt](libjpeg.txt) for API documentation.
+
+There is no significant performance advantage to either API when both are used
+to perform similar operations.
+
+Colorspace Extensions
+---------------------
+
+libjpeg-turbo includes extensions that allow JPEG images to be compressed
+directly from (and decompressed directly to) buffers that use BGR, BGRX,
+RGBX, XBGR, and XRGB pixel ordering.  This is implemented with ten new
+colorspace constants:
+
+    JCS_EXT_RGB   /* red/green/blue */
+    JCS_EXT_RGBX  /* red/green/blue/x */
+    JCS_EXT_BGR   /* blue/green/red */
+    JCS_EXT_BGRX  /* blue/green/red/x */
+    JCS_EXT_XBGR  /* x/blue/green/red */
+    JCS_EXT_XRGB  /* x/red/green/blue */
+    JCS_EXT_RGBA  /* red/green/blue/alpha */
+    JCS_EXT_BGRA  /* blue/green/red/alpha */
+    JCS_EXT_ABGR  /* alpha/blue/green/red */
+    JCS_EXT_ARGB  /* alpha/red/green/blue */
+
+Setting `cinfo.in_color_space` (compression) or `cinfo.out_color_space`
+(decompression) to one of these values will cause libjpeg-turbo to read the
+red, green, and blue values from (or write them to) the appropriate position in
+the pixel when compressing from/decompressing to an RGB buffer.
+
+Your application can check for the existence of these extensions at compile
+time with:
+
+    #ifdef JCS_EXTENSIONS
+
+At run time, attempting to use these extensions with a libjpeg implementation
+that does not support them will result in a "Bogus input colorspace" error.
+Applications can trap this error in order to test whether run-time support is
+available for the colorspace extensions.
+
+When using the RGBX, BGRX, XBGR, and XRGB colorspaces during decompression, the
+X byte is undefined, and in order to ensure the best performance, libjpeg-turbo
+can set that byte to whatever value it wishes.  If an application expects the X
+byte to be used as an alpha channel, then it should specify `JCS_EXT_RGBA`,
+`JCS_EXT_BGRA`, `JCS_EXT_ABGR`, or `JCS_EXT_ARGB`.  When these colorspace
+constants are used, the X byte is guaranteed to be 0xFF, which is interpreted
+as opaque.
+
+Your application can check for the existence of the alpha channel colorspace
+extensions at compile time with:
+
+    #ifdef JCS_ALPHA_EXTENSIONS
+
+[jcstest.c](jcstest.c), located in the libjpeg-turbo source tree, demonstrates
+how to check for the existence of the colorspace extensions at compile time and
+run time.
+
+libjpeg v7 and v8 API/ABI Emulation
+-----------------------------------
+
+With libjpeg v7 and v8, new features were added that necessitated extending the
+compression and decompression structures.  Unfortunately, due to the exposed
+nature of those structures, extending them also necessitated breaking backward
+ABI compatibility with previous libjpeg releases.  Thus, programs that were
+built to use libjpeg v7 or v8 did not work with libjpeg-turbo, since it is
+based on the libjpeg v6b code base.  Although libjpeg v7 and v8 are not
+as widely used as v6b, enough programs (including a few Linux distros) made
+the switch that there was a demand to emulate the libjpeg v7 and v8 ABIs
+in libjpeg-turbo.  It should be noted, however, that this feature was added
+primarily so that applications that had already been compiled to use libjpeg
+v7+ could take advantage of accelerated baseline JPEG encoding/decoding
+without recompiling.  libjpeg-turbo does not claim to support all of the
+libjpeg v7+ features, nor to produce identical output to libjpeg v7+ in all
+cases (see below.)
+
+By passing an argument of `-DWITH_JPEG7=1` or `-DWITH_JPEG8=1` to `cmake`, you
+can build a version of libjpeg-turbo that emulates the libjpeg v7 or v8 ABI, so
+that programs that are built against libjpeg v7 or v8 can be run with
+libjpeg-turbo.  The following section describes which libjpeg v7+ features are
+supported and which aren't.
+
+### Support for libjpeg v7 and v8 Features
+
+#### Fully supported
+
+- **libjpeg API: IDCT scaling extensions in decompressor**<br>
+  libjpeg-turbo supports IDCT scaling with scaling factors of 1/8, 1/4, 3/8,
+  1/2, 5/8, 3/4, 7/8, 9/8, 5/4, 11/8, 3/2, 13/8, 7/4, 15/8, and 2/1 (only 1/4
+  and 1/2 are SIMD-accelerated.)
+
+- **libjpeg API: Arithmetic coding**
+
+- **libjpeg API: In-memory source and destination managers**<br>
+  See notes below.
+
+- **cjpeg: Separate quality settings for luminance and chrominance**<br>
+  Note that the libpjeg v7+ API was extended to accommodate this feature only
+  for convenience purposes.  It has always been possible to implement this
+  feature with libjpeg v6b (see rdswitch.c for an example.)
+
+- **cjpeg: 32-bit BMP support**
+
+- **cjpeg: `-rgb` option**
+
+- **jpegtran: Lossless cropping**
+
+- **jpegtran: `-perfect` option**
+
+- **jpegtran: Forcing width/height when performing lossless crop**
+
+- **rdjpgcom: `-raw` option**
+
+- **rdjpgcom: Locale awareness**
+
+
+#### Not supported
+
+NOTE:  As of this writing, extensive research has been conducted into the
+usefulness of DCT scaling as a means of data reduction and SmartScale as a
+means of quality improvement.  Readers are invited to peruse the research at
+<http://www.libjpeg-turbo.org/About/SmartScale> and draw their own conclusions,
+but it is the general belief of our project that these features have not
+demonstrated sufficient usefulness to justify inclusion in libjpeg-turbo.
+
+- **libjpeg API: DCT scaling in compressor**<br>
+  `cinfo.scale_num` and `cinfo.scale_denom` are silently ignored.
+  There is no technical reason why DCT scaling could not be supported when
+  emulating the libjpeg v7+ API/ABI, but without the SmartScale extension (see
+  below), only scaling factors of 1/2, 8/15, 4/7, 8/13, 2/3, 8/11, 4/5, and
+  8/9 would be available, which is of limited usefulness.
+
+- **libjpeg API: SmartScale**<br>
+  `cinfo.block_size` is silently ignored.
+  SmartScale is an extension to the JPEG format that allows for DCT block
+  sizes other than 8x8.  Providing support for this new format would be
+  feasible (particularly without full acceleration.)  However, until/unless
+  the format becomes either an official industry standard or, at minimum, an
+  accepted solution in the community, we are hesitant to implement it, as
+  there is no sense of whether or how it might change in the future.  It is
+  our belief that SmartScale has not demonstrated sufficient usefulness as a
+  lossless format nor as a means of quality enhancement, and thus our primary
+  interest in providing this feature would be as a means of supporting
+  additional DCT scaling factors.
+
+- **libjpeg API: Fancy downsampling in compressor**<br>
+  `cinfo.do_fancy_downsampling` is silently ignored.
+  This requires the DCT scaling feature, which is not supported.
+
+- **jpegtran: Scaling**<br>
+  This requires both the DCT scaling and SmartScale features, which are not
+  supported.
+
+- **Lossless RGB JPEG files**<br>
+  This requires the SmartScale feature, which is not supported.
+
+### What About libjpeg v9?
+
+libjpeg v9 introduced yet another field to the JPEG compression structure
+(`color_transform`), thus making the ABI backward incompatible with that of
+libjpeg v8.  This new field was introduced solely for the purpose of supporting
+lossless SmartScale encoding.  Furthermore, there was actually no reason to
+extend the API in this manner, as the color transform could have just as easily
+been activated by way of a new JPEG colorspace constant, thus preserving
+backward ABI compatibility.
+
+Our research (see link above) has shown that lossless SmartScale does not
+generally accomplish anything that can't already be accomplished better with
+existing, standard lossless formats.  Therefore, at this time it is our belief
+that there is not sufficient technical justification for software projects to
+upgrade from libjpeg v8 to libjpeg v9, and thus there is not sufficient
+technical justification for us to emulate the libjpeg v9 ABI.
+
+In-Memory Source/Destination Managers
+-------------------------------------
+
+By default, libjpeg-turbo 1.3 and later includes the `jpeg_mem_src()` and
+`jpeg_mem_dest()` functions, even when not emulating the libjpeg v8 API/ABI.
+Previously, it was necessary to build libjpeg-turbo from source with libjpeg v8
+API/ABI emulation in order to use the in-memory source/destination managers,
+but several projects requested that those functions be included when emulating
+the libjpeg v6b API/ABI as well.  This allows the use of those functions by
+programs that need them, without breaking ABI compatibility for programs that
+don't, and it allows those functions to be provided in the "official"
+libjpeg-turbo binaries.
+
+Note that, on most Un*x systems, the dynamic linker will not look for a
+function in a library until that function is actually used.  Thus, if a program
+is built against libjpeg-turbo 1.3+ and uses `jpeg_mem_src()` or
+`jpeg_mem_dest()`, that program will not fail if run against an older version
+of libjpeg-turbo or against libjpeg v7- until the program actually tries to
+call `jpeg_mem_src()` or `jpeg_mem_dest()`.  Such is not the case on Windows.
+If a program is built against the libjpeg-turbo 1.3+ DLL and uses
+`jpeg_mem_src()` or `jpeg_mem_dest()`, then it must use the libjpeg-turbo 1.3+
+DLL at run time.
+
+Both cjpeg and djpeg have been extended to allow testing the in-memory
+source/destination manager functions.  See their respective man pages for more
+details.
+
+
+Mathematical Compatibility
+==========================
+
+For the most part, libjpeg-turbo should produce identical output to libjpeg
+v6b.  There are two exceptions:
+
+1. When decompressing a JPEG image that uses 4:4:0 chrominance subsampling, the
+outputs of libjpeg v6b and libjpeg-turbo can differ because libjpeg-turbo
+implements a "fancy" (smooth) 4:4:0 upsampling algorithm and libjpeg did not.
+
+2. When using the floating point DCT/IDCT, the outputs of libjpeg v6b and
+libjpeg-turbo can differ for the following reasons:
+
+    - The SSE/SSE2 floating point DCT implementation in libjpeg-turbo is ever
+      so slightly more accurate than the implementation in libjpeg v6b, but not
+      by any amount perceptible to human vision (generally in the range of 0.01
+      to 0.08 dB gain in PNSR.)
+
+    - When not using the SIMD extensions, libjpeg-turbo uses the more accurate
+      (and slightly faster) floating point IDCT algorithm introduced in libjpeg
+      v8a as opposed to the algorithm used in libjpeg v6b.  It should be noted,
+      however, that this algorithm basically brings the accuracy of the
+      floating point IDCT in line with the accuracy of the accurate integer
+      IDCT.  The floating point DCT/IDCT algorithms are mainly a legacy
+      feature, and they do not produce significantly more accuracy than the
+      accurate integer algorithms.  (To put numbers on this, the typical
+      difference in PNSR between the two algorithms is less than 0.10 dB,
+      whereas changing the quality level by 1 in the upper range of the quality
+      scale is typically more like a 1.0 dB difference.)
+
+    - If the floating point algorithms in libjpeg-turbo are not implemented
+      using SIMD instructions on a particular platform, then the accuracy of
+      the floating point DCT/IDCT can depend on the compiler settings.
+
+While libjpeg-turbo does emulate the libjpeg v8 API/ABI, under the hood it is
+still using the same algorithms as libjpeg v6b, so there are several specific
+cases in which libjpeg-turbo cannot be expected to produce the same output as
+libjpeg v8:
+
+- When decompressing using scaling factors of 1/2 and 1/4, because libjpeg v8
+  implements those scaling algorithms differently than libjpeg v6b does, and
+  libjpeg-turbo's SIMD extensions are based on the libjpeg v6b behavior.
+
+- When using chrominance subsampling, because libjpeg v8 implements this
+  with its DCT/IDCT scaling algorithms rather than with a separate
+  downsampling/upsampling algorithm.  In our testing, the subsampled/upsampled
+  output of libjpeg v8 is less accurate than that of libjpeg v6b for this
+  reason.
+
+- When decompressing using a scaling factor > 1 and merged (AKA "non-fancy" or
+  "non-smooth") chrominance upsampling, because libjpeg v8 does not support
+  merged upsampling with scaling factors > 1.
+
+
+Performance Pitfalls
+====================
+
+Restart Markers
+---------------
+
+The optimized Huffman decoder in libjpeg-turbo does not handle restart markers
+in a way that makes the rest of the libjpeg infrastructure happy, so it is
+necessary to use the slow Huffman decoder when decompressing a JPEG image that
+has restart markers.  This can cause the decompression performance to drop by
+as much as 20%, but the performance will still be much greater than that of
+libjpeg.  Many consumer packages, such as Photoshop, use restart markers when
+generating JPEG images, so images generated by those programs will experience
+this issue.
+
+Fast Integer Forward DCT at High Quality Levels
+-----------------------------------------------
+
+The algorithm used by the SIMD-accelerated quantization function cannot produce
+correct results whenever the fast integer forward DCT is used along with a JPEG
+quality of 98-100.  Thus, libjpeg-turbo must use the non-SIMD quantization
+function in those cases.  This causes performance to drop by as much as 40%.
+It is therefore strongly advised that you use the accurate integer forward DCT
+whenever encoding images with a JPEG quality of 98 or higher.
+
+
+Memory Debugger Pitfalls
+========================
+
+Valgrind and Memory Sanitizer (MSan) can generate false positives
+(specifically, incorrect reports of uninitialized memory accesses) when used
+with libjpeg-turbo's SIMD extensions.  It is generally recommended that the
+SIMD extensions be disabled, either by passing an argument of `-DWITH_SIMD=0`
+to `cmake` when configuring the build or by setting the environment variable
+`JSIMD_FORCENONE` to `1` at run time, when testing libjpeg-turbo with Valgrind,
+MSan, or other memory debuggers.

+ 39 - 0
opencv/etc/licenses/libopenjp2-LICENSE

@@ -0,0 +1,39 @@
+/*
+ * The copyright in this software is being made available under the 2-clauses 
+ * BSD License, included below. This software may be subject to other third 
+ * party and contributor rights, including patent rights, and no such rights
+ * are granted under this license.
+ *
+ * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
+ * Copyright (c) 2002-2014, Professor Benoit Macq
+ * Copyright (c) 2003-2014, Antonin Descampe
+ * Copyright (c) 2003-2009, Francois-Olivier Devaux
+ * Copyright (c) 2005, Herve Drolon, FreeImage Team
+ * Copyright (c) 2002-2003, Yannick Verschueren
+ * Copyright (c) 2001-2003, David Janssens
+ * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France 
+ * Copyright (c) 2012, CS Systemes d'Information, France
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */

文件差異過大導致無法顯示
+ 83 - 0
opencv/etc/licenses/libopenjp2-README.md


+ 134 - 0
opencv/etc/licenses/libpng-LICENSE

@@ -0,0 +1,134 @@
+COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
+=========================================
+
+PNG Reference Library License version 2
+---------------------------------------
+
+ * Copyright (c) 1995-2024 The PNG Reference Library Authors.
+ * Copyright (c) 2018-2024 Cosmin Truta.
+ * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
+ * Copyright (c) 1996-1997 Andreas Dilger.
+ * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
+
+The software is supplied "as is", without warranty of any kind,
+express or implied, including, without limitation, the warranties
+of merchantability, fitness for a particular purpose, title, and
+non-infringement.  In no event shall the Copyright owners, or
+anyone distributing the software, be liable for any damages or
+other liability, whether in contract, tort or otherwise, arising
+from, out of, or in connection with the software, or the use or
+other dealings in the software, even if advised of the possibility
+of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute
+this software, or portions hereof, for any purpose, without fee,
+subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you
+    must not claim that you wrote the original software.  If you
+    use this software in a product, an acknowledgment in the product
+    documentation would be appreciated, but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and must
+    not be misrepresented as being the original software.
+
+ 3. This Copyright notice may not be removed or altered from any
+    source or altered source distribution.
+
+
+PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
+-----------------------------------------------------------------------
+
+libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are
+Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
+derived from libpng-1.0.6, and are distributed according to the same
+disclaimer and license as libpng-1.0.6 with the following individuals
+added to the list of Contributing Authors:
+
+    Simon-Pierre Cadieux
+    Eric S. Raymond
+    Mans Rullgard
+    Cosmin Truta
+    Gilles Vollant
+    James Yu
+    Mandar Sahastrabuddhe
+    Google Inc.
+    Vadim Barkov
+
+and with the following additions to the disclaimer:
+
+    There is no warranty against interference with your enjoyment of
+    the library or against infringement.  There is no warranty that our
+    efforts or the library will fulfill any of your particular purposes
+    or needs.  This library is provided with all faults, and the entire
+    risk of satisfactory quality, performance, accuracy, and effort is
+    with the user.
+
+Some files in the "contrib" directory and some configure-generated
+files that are distributed with libpng have other copyright owners, and
+are released under other open source licenses.
+
+libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
+libpng-0.96, and are distributed according to the same disclaimer and
+license as libpng-0.96, with the following individuals added to the
+list of Contributing Authors:
+
+    Tom Lane
+    Glenn Randers-Pehrson
+    Willem van Schaik
+
+libpng versions 0.89, June 1996, through 0.96, May 1997, are
+Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
+and are distributed according to the same disclaimer and license as
+libpng-0.88, with the following individuals added to the list of
+Contributing Authors:
+
+    John Bowler
+    Kevin Bracey
+    Sam Bushell
+    Magnus Holmgren
+    Greg Roelofs
+    Tom Tanner
+
+Some files in the "scripts" directory have other copyright owners,
+but are released under this license.
+
+libpng versions 0.5, May 1995, through 0.88, January 1996, are
+Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
+
+For the purposes of this copyright and license, "Contributing Authors"
+is defined as the following set of individuals:
+
+    Andreas Dilger
+    Dave Martindale
+    Guy Eric Schalnat
+    Paul Schmidt
+    Tim Wegner
+
+The PNG Reference Library is supplied "AS IS".  The Contributing
+Authors and Group 42, Inc. disclaim all warranties, expressed or
+implied, including, without limitation, the warranties of
+merchantability and of fitness for any purpose.  The Contributing
+Authors and Group 42, Inc. assume no liability for direct, indirect,
+incidental, special, exemplary, or consequential damages, which may
+result from the use of the PNG Reference Library, even if advised of
+the possibility of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute this
+source code, or portions hereof, for any purpose, without fee, subject
+to the following restrictions:
+
+ 1. The origin of this source code must not be misrepresented.
+
+ 2. Altered versions must be plainly marked as such and must not
+    be misrepresented as being the original source.
+
+ 3. This Copyright notice may not be removed or altered from any
+    source or altered source distribution.
+
+The Contributing Authors and Group 42, Inc. specifically permit,
+without fee, and encourage the use of this source code as a component
+to supporting the PNG file format in commercial products.  If you use
+this source code in a product, acknowledgment is not required but would
+be appreciated.

+ 184 - 0
opencv/etc/licenses/libpng-README

@@ -0,0 +1,184 @@
+README for libpng version 1.6.43
+================================
+
+See the note about version numbers near the top of `png.h`.
+See `INSTALL` for instructions on how to install libpng.
+
+Libpng comes in several distribution formats.  Get `libpng-*.tar.gz`
+or `libpng-*.tar.xz` if you want UNIX-style line endings in the text
+files, or `lpng*.7z` or `lpng*.zip` if you want DOS-style line endings.
+
+For a detailed description on using libpng, read `libpng-manual.txt`.
+For examples of libpng in a program, see `example.c` and `pngtest.c`.
+For usage information and restrictions (what little they are) on libpng,
+see `png.h`.  For a description on using zlib (the compression library
+used by libpng) and zlib's restrictions, see `zlib.h`.
+
+You should use zlib 1.0.4 or later to run this, but it _may_ work with
+versions as old as zlib 0.95.  Even so, there are bugs in older zlib
+versions which can cause the output of invalid compression streams for
+some images.
+
+You should also note that zlib is a compression library that is useful
+for more things than just PNG files.  You can use zlib as a drop-in
+replacement for `fread()` and `fwrite()`, if you are so inclined.
+
+zlib should be available at the same place that libpng is, or at
+https://zlib.net .
+
+You may also want a copy of the PNG specification.  It is available
+as an RFC, a W3C Recommendation, and an ISO/IEC Standard.  You can find
+these at http://www.libpng.org/pub/png/pngdocs.html .
+
+This code is currently being archived at https://libpng.sourceforge.io
+in the download area, and at http://libpng.download/src .
+
+This release, based in a large way on Glenn's, Guy's and Andreas'
+earlier work, was created and will be supported by myself and the PNG
+development group.
+
+Send comments, corrections and commendations to `png-mng-implement`
+at `lists.sourceforge.net`.  (Subscription is required; visit
+https://lists.sourceforge.net/lists/listinfo/png-mng-implement
+to subscribe.)
+
+Send general questions about the PNG specification to `png-mng-misc`
+at `lists.sourceforge.net`.  (Subscription is required; visit
+https://lists.sourceforge.net/lists/listinfo/png-mng-misc
+to subscribe.)
+
+Historical notes
+----------------
+
+The libpng library has been in extensive use and testing since mid-1995.
+Version 0.89, published a year later, was the first official release.
+By late 1997, it had finally gotten to the stage where there hadn't
+been significant changes to the API in some time, and people have a bad
+feeling about libraries with versions below 1.0.  Version 1.0.0 was
+released in March 1998.
+
+Note that some of the changes to the `png_info` structure render this
+version of the library binary incompatible with libpng-0.89 or
+earlier versions if you are using a shared library.  The type of the
+`filler` parameter for `png_set_filler()` has changed from `png_byte`
+to `png_uint_32`, which will affect shared-library applications that
+use this function.
+
+To avoid problems with changes to the internals of the `info_struct`,
+new APIs have been made available in 0.95 to avoid direct application
+access to `info_ptr`.  These functions are the `png_set_<chunk>` and
+`png_get_<chunk>` functions.  These functions should be used when
+accessing/storing the `info_struct` data, rather than manipulating it
+directly, to avoid such problems in the future.
+
+It is important to note that the APIs did not make current programs
+that access the info struct directly incompatible with the new
+library, through libpng-1.2.x.  In libpng-1.4.x, which was meant to
+be a transitional release, members of the `png_struct` and the
+`info_struct` can still be accessed, but the compiler will issue a
+warning about deprecated usage.  Since libpng-1.5.0, direct access
+to these structs is not allowed, and the definitions of the structs
+reside in private `pngstruct.h` and `pnginfo.h` header files that are
+not accessible to applications.  It is strongly suggested that new
+programs use the new APIs (as shown in `example.c` and `pngtest.c`),
+and older programs be converted to the new format, to facilitate
+upgrades in the future.
+
+The additions since 0.89 include the ability to read from a PNG stream
+which has had some (or all) of the signature bytes read by the calling
+application.  This also allows the reading of embedded PNG streams that
+do not have the PNG file signature.  As well, it is now possible to set
+the library action on the detection of chunk CRC errors.  It is possible
+to set different actions based on whether the CRC error occurred in a
+critical or an ancillary chunk.
+
+The additions since 0.90 include the ability to compile libpng as a
+Windows DLL, and new APIs for accessing data in the `info_struct`.
+Experimental functions included the ability to set weighting and cost
+factors for row filter selection, direct reads of integers from buffers
+on big-endian processors that support misaligned data access, faster
+methods of doing alpha composition, and more accurate 16-to-8 bit color
+conversion.  Some of these experimental functions, such as the weighted
+filter heuristics, have since been removed.
+
+Files included in this distribution
+-----------------------------------
+
+    ANNOUNCE      =>  Announcement of this version, with recent changes
+    AUTHORS       =>  List of contributing authors
+    CHANGES       =>  Description of changes between libpng versions
+    INSTALL       =>  Instructions to install libpng
+    LICENSE       =>  License to use and redistribute libpng
+    README        =>  This file
+    TODO          =>  Things not implemented in the current library
+    TRADEMARK     =>  Trademark information
+    example.c     =>  Example code for using libpng functions
+    libpng.3      =>  Manual page for libpng (includes libpng-manual.txt)
+    libpng-manual.txt  =>  Description of libpng and its functions
+    libpngpf.3    =>  Manual page for libpng's private functions (deprecated)
+    png.5         =>  Manual page for the PNG format
+    png.c         =>  Basic interface functions common to library
+    png.h         =>  Library function and interface declarations (public)
+    pngpriv.h     =>  Library function and interface declarations (private)
+    pngconf.h     =>  System specific library configuration (public)
+    pngstruct.h   =>  png_struct declaration (private)
+    pnginfo.h     =>  png_info struct declaration (private)
+    pngdebug.h    =>  debugging macros (private)
+    pngerror.c    =>  Error/warning message I/O functions
+    pngget.c      =>  Functions for retrieving info from struct
+    pngmem.c      =>  Memory handling functions
+    pngbar.png    =>  PNG logo, 88x31
+    pngnow.png    =>  PNG logo, 98x31
+    pngpread.c    =>  Progressive reading functions
+    pngread.c     =>  Read data/helper high-level functions
+    pngrio.c      =>  Lowest-level data read I/O functions
+    pngrtran.c    =>  Read data transformation functions
+    pngrutil.c    =>  Read data utility functions
+    pngset.c      =>  Functions for storing data into the info_struct
+    pngtest.c     =>  Library test program
+    pngtest.png   =>  Library test sample image
+    pngtrans.c    =>  Common data transformation functions
+    pngwio.c      =>  Lowest-level write I/O functions
+    pngwrite.c    =>  High-level write functions
+    pngwtran.c    =>  Write data transformations
+    pngwutil.c    =>  Write utility functions
+    arm/          =>  Optimized code for ARM Neon
+    intel/        =>  Optimized code for INTEL SSE2
+    loongarch/    =>  Optimized code for LoongArch LSX
+    mips/         =>  Optimized code for MIPS MSA and MIPS MMI
+    powerpc/      =>  Optimized code for PowerPC VSX
+    ci/           =>  Scripts for continuous integration
+    contrib/      =>  External contributions
+        arm-neon/     =>  Optimized code for the ARM-NEON platform
+        mips-msa/     =>  Optimized code for the MIPS-MSA platform
+        powerpc-vsx/  =>  Optimized code for the POWERPC-VSX platform
+        examples/     =>  Examples of libpng usage
+        gregbook/     =>  Source code for PNG reading and writing, from
+                          "PNG: The Definitive Guide" by Greg Roelofs,
+                          O'Reilly, 1999
+        libtests/     =>  Test programs
+        oss-fuzz/     =>  Files used by the OSS-Fuzz project for fuzz-testing
+                          libpng
+        pngexif/      =>  Program to inspect the EXIF information in PNG files
+        pngminim/     =>  Minimal decoder, encoder, and progressive decoder
+                          programs demonstrating the use of pngusr.dfa
+        pngminus/     =>  Simple pnm2png and png2pnm programs
+        pngsuite/     =>  Test images
+        testpngs/     =>  Test images
+        tools/        =>  Various tools
+        visupng/      =>  VisualPng, a Windows viewer for PNG images
+    projects/     =>  Project files and workspaces for various IDEs
+        owatcom/      =>  OpenWatcom project
+        visualc71/    =>  Microsoft Visual C++ 7.1 workspace
+        vstudio/      =>  Microsoft Visual Studio workspace
+    scripts/      =>  Scripts and makefiles for building libpng
+                      (see scripts/README.txt for the complete list)
+    tests/        =>  Test scripts
+
+Good luck, and happy coding!
+
+ * Cosmin Truta (current maintainer, since 2018)
+ * Glenn Randers-Pehrson (former maintainer, 1998-2018)
+ * Andreas Eric Dilger (former maintainer, 1996-1997)
+ * Guy Eric Schalnat (original author and former maintainer, 1995-1996)
+   (formerly of Group 42, Inc.)

+ 21 - 0
opencv/etc/licenses/libtiff-COPYRIGHT

@@ -0,0 +1,21 @@
+Copyright (c) 1988-1997 Sam Leffler
+Copyright (c) 1991-1997 Silicon Graphics, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and 
+its documentation for any purpose is hereby granted without fee, provided
+that (i) the above copyright notices and this permission notice appear in
+all copies of the software and related documentation, and (ii) the names of
+Sam Leffler and Silicon Graphics may not be used in any advertising or
+publicity relating to the software without the specific, prior written
+permission of Sam Leffler and Silicon Graphics.
+
+THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
+WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
+
+IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
+LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
+OF THIS SOFTWARE.

+ 28 - 0
opencv/etc/licenses/mscr-chi_table_LICENSE.txt

@@ -0,0 +1,28 @@
+                          License Agreement
+                          For chi_table.h
+
+Copyright (C) 2007 Per-Erik Forssen, all rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+  * Redistribution's of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+  * Redistribution's in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+  * The name of the copyright holders may not be used to endorse or promote products
+    derived from this software without specific prior written permission.
+
+This software is provided by the copyright holders and contributors "as is" and
+any express or implied warranties, including, but not limited to, the implied
+warranties of merchantability and fitness for a particular purpose are disclaimed.
+In no event shall the Intel Corporation or contributors be liable for any direct,
+indirect, incidental, special, exemplary, or consequential damages
+(including, but not limited to, procurement of substitute goods or services;
+loss of use, data, or profits; or business interruption) however caused
+and on any theory of liability, whether in contract, strict liability,
+or tort (including negligence or otherwise) arising in any way out of
+the use of this software, even if advised of the possibility of such damage.

+ 21 - 0
opencv/etc/licenses/openexr-AUTHORS.ilmbase

@@ -0,0 +1,21 @@
+Developers:
+-----------
+
+Florian Kainz <kainz@ilm.com>
+Rod Bogart <rgb@ilm.com>
+Drew Hess <dhess@ilm.com>
+Bill Anderson <wja@ilm.com>
+Wojciech Jarosz <wjarosz@ucsd.edu>
+
+Contributors:
+-------------
+
+Rito Trevino
+Josh Pines
+Christian Rouet
+
+Win32 build system:
+-------------------
+
+Nick Porcino <NPorcino@lucasarts.com>
+Kimball Thurston

+ 49 - 0
opencv/etc/licenses/openexr-AUTHORS.openexr

@@ -0,0 +1,49 @@
+Developers:
+-----------
+
+Florian Kainz <kainz@ilm.com>
+Rod Bogart <rgb@ilm.com>
+Drew Hess <dhess@ilm.com>
+Paul Schneider <paultschneider@mac.com>
+Bill Anderson <wja@ilm.com>
+Wojciech Jarosz <wjarosz@ucsd.edu>
+Andrew Kunz <akunz@ilm.com>
+Piotr Stanczyk <pstanczyk@ilm.com>
+Peter Hillman <peterh@weta.co.nz>
+Nick Porcino <nick.porcino@gmail.com>
+Kimball Thurston
+
+Contributors:
+-------------
+
+Simon Green <SGreen@nvidia.com>
+Rito Trevino <etrevino@ilm.com>
+Josh Pines
+Christian Rouet
+Rodrigo Damazio <rdamazio@lsi.usp.br>
+Greg Ward <gward@lmi.net>
+Joseph Goldstone <joseph@lp.com>
+Loren Carpenter, Pixar Animation Studios
+Nicholas Yue <yue.nicholas@gmail.com>
+Yunfeng Bai (ILM)
+Pascal Jette (Autodesk)
+Karl Rasche, DreamWorks Animation <Karl.Rasche@dreamworks.com>
+
+Win32 build system:
+-------------------
+
+Nick Porcino <NPorcino@lucasarts.com>
+Kimball Thurston
+
+Win32 port contributors:
+------------------------
+
+Dustin Graves <dgraves@computer.org>
+Jukka Liimatta <jukka.liimatta@twilight3d.com>
+Baumann Konstantin <Konstantin.Baumann@hpi.uni-potsdam.de>
+Daniel Koch <daniel@eyeonline.com>
+E. Scott Larsen <larsene@cs.unc.edu>
+stephan mantler <step@acm.org>
+Andreas Kahler <AKahler@nxn-software.com>
+Frank Jargstorff <fjargstorff@nvidia.com>
+Lutz Latta

+ 34 - 0
opencv/etc/licenses/openexr-LICENSE

@@ -0,0 +1,34 @@
+Copyright (c) 2006, Industrial Light & Magic, a division of Lucasfilm
+Entertainment Company Ltd.  Portions contributed and copyright held by
+others as indicated.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above
+      copyright notice, this list of conditions and the following
+      disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided with
+      the distribution.
+
+    * Neither the name of Industrial Light & Magic nor the names of
+      any other contributors to this software may be used to endorse or
+      promote products derived from this software without specific prior
+      written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+

+ 32 - 0
opencv/etc/licenses/protobuf-LICENSE

@@ -0,0 +1,32 @@
+Copyright 2008 Google Inc.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Code generated by the Protocol Buffer compiler is owned by the owner
+of the input file used when generating it.  This code is not
+standalone and requires a support library to be linked with it.  This
+support library is itself covered by the above license.

+ 3 - 0
opencv/etc/licenses/protobuf-README.md

@@ -0,0 +1,3 @@
+Project: Protocol Buffers - Google's data interchange format
+Source code: https://github.com/protocolbuffers/protobuf
+Version: 3.19.1

+ 201 - 0
opencv/etc/licenses/tbb-LICENSE.txt

@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

+ 57 - 0
opencv/etc/licenses/tbb-README.md

@@ -0,0 +1,57 @@
+# oneAPI Threading Building Blocks
+[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE.txt) [![oneTBB CI](https://github.com/oneapi-src/oneTBB/actions/workflows/ci.yml/badge.svg)](https://github.com/oneapi-src/oneTBB/actions/workflows/ci.yml?query=branch%3Amaster)
+
+oneTBB is a flexible C++ library that simplifies the work of adding parallelism
+to complex applications, even if you are not a threading expert.  
+
+The library lets you easily write parallel programs that take full advantage of the multi-core performance. Such programs are portable, 
+composable and have a future-proof scalability. oneTBB provides you with functions, interfaces, and classes to parallelize and scale the code.
+All you have to do is to use the templates. 
+
+The library differs from typical threading packages in the following ways:
+* oneTBB enables you to specify logical parallelism instead of threads.
+* oneTBB targets threading for performance.
+* oneTBB is compatible with other threading packages.
+* oneTBB emphasizes scalable, data parallel programming.
+* oneTBB relies on generic programming.
+
+
+Refer to oneTBB [examples](examples) and [samples](https://github.com/oneapi-src/oneAPI-samples/tree/master/Libraries/oneTBB) to see how you can use the library.
+
+oneTBB is a part of [oneAPI](https://oneapi.io). The current branch implements version 1.1 of oneAPI Specification.
+
+> **_NOTE:_** Threading Building Blocks (TBB) is now called oneAPI Threading Building Blocks (oneTBB) to highlight that the tool is a part of the oneAPI ecosystem.
+
+## Release Information
+Here are [Release Notes](RELEASE_NOTES.md) and [System Requirements](SYSTEM_REQUIREMENTS.md).
+
+## Documentation
+* [oneTBB Specification](https://spec.oneapi.com/versions/latest/elements/oneTBB/source/nested-index.html)
+* [oneTBB Developer Guide and Reference](https://oneapi-src.github.io/oneTBB)
+* [Migrating from TBB to oneTBB](https://oneapi-src.github.io/oneTBB/main/tbb_userguide/Migration_Guide.html)
+* [README for the CMake build system](cmake/README.md)
+* [oneTBB Testing Approach](https://oneapi-src.github.io/oneTBB/main/intro/testing_approach.html)
+* [Basic support for the Bazel build system](Bazel.md)
+* [oneTBB Discussions](https://github.com/oneapi-src/oneTBB/discussions)
+* [WASM Support](WASM_Support.md)
+
+## Installation 
+See [Installation from Sources](INSTALL.md) to learn how to install oneTBB. 
+
+## Support
+Please report issues and suggestions via [GitHub issues](https://github.com/oneapi-src/oneTBB/issues). See our [documentation](./CONTRIBUTING.md##Issues) to learn how to work with them.
+
+## How to Contribute
+We welcome community contributions, so check our [Contributing Guidelines](CONTRIBUTING.md)
+to learn more.
+
+## License
+oneAPI Threading Building Blocks is licensed under [Apache License, Version 2.0](LICENSE.txt).
+By its terms, contributions submitted to the project are also done under that license.
+
+
+## Engineering team contacts
+* [Email us.](mailto:inteltbbdevelopers@intel.com)
+
+------------------------------------------------------------------------
+\* All names and brands may be claimed as the property of others.

+ 21 - 0
opencv/etc/licenses/vasot-LICENSE.txt

@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2018-2019 Intel Corporation
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.

+ 289 - 0
opencv/etc/valgrind.supp

@@ -0,0 +1,289 @@
+{
+   OpenCV-IPP static init
+   Memcheck:Cond
+   fun:ippicvGetCpuFeatures
+   fun:ippicvStaticInit
+}
+
+{
+   OpenCV-getInitializationMutex
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv22getInitializationMutexEv
+}
+
+{
+   OpenCV-SingletonBuffer
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv20allocSingletonBufferEm
+}
+
+{
+   OpenCV-SingletonNewBuffer
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv23allocSingletonNewBufferEm
+}
+
+{
+   OpenCV-getStdAllocator
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3Mat15getStdAllocatorEv
+}
+
+{
+   OpenCV-getOpenCLAllocator
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ocl18getOpenCLAllocatorEv
+}
+
+{
+   OpenCV-getCoreTlsData
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv14getCoreTlsDataEv
+}
+
+{
+   OpenCV-TLS-getTlsStorage
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv*L13getTlsStorageEv
+}
+
+{
+   OpenCV-TLS-getData()
+   Memcheck:Leak
+   ...
+   fun:*setData*
+   fun:_ZNK2cv16TLSDataContainer7getDataEv
+}
+
+{
+   OpenCV-parallel_for-reconfigure
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv10ThreadPool12reconfigure_Ej
+}
+
+{
+   OpenCV-parallel_for-instance
+   Memcheck:Leak
+   fun:_Znwm
+   fun:*instance*
+   ...
+   fun:_ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd
+}
+
+{
+   OpenCV-parallel_for-setNumThreads()
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv13setNumThreadsEi
+}
+
+{
+   OpenCV-parallel_for-getNumThreads()
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv13getNumThreadsEv
+}
+
+{
+   OpenCV-getIPPSingelton
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ippL15getIPPSingeltonEv
+}
+
+{
+   OpenCV-getGlobalMatOpInitializer
+   Memcheck:Leak
+   fun:_Znwm
+   fun:_ZN2cvL25getGlobalMatOpInitializerEv
+}
+
+{
+   OpenCV-CoreTLSData
+   Memcheck:Leak
+   ...
+   fun:_ZNK2cv7TLSDataINS_11CoreTLSDataEE3getEv
+}
+
+{
+   OpenCV-getThreadID()
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv5utils11getThreadIDEv
+}
+
+{
+   OpenCV-ThreadID
+   Memcheck:Leak
+   fun:_Znwm
+   fun:_ZNK2cv7TLSDataINS_12_GLOBAL__N_18ThreadIDEE18createDataInstanceEv
+}
+
+{
+   OpenCV-ThreadID-TLS
+   Memcheck:Leak
+   fun:_Znwm
+   fun:getThreadIDTLS
+}
+
+{
+   OpenCV-CoreTLS
+   Memcheck:Leak
+   fun:_Znwm
+   fun:_ZNK2cv7TLSDataINS_11CoreTLSDataEE18createDataInstanceEv
+}
+
+{
+   OpenCV-UMatDataAutoLockerTLS
+   Memcheck:Leak
+   ...
+   fun:_ZN2cvL21getUMatDataAutoLockerEv
+}
+
+{
+   OpenCV-haveOpenCL
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ocl10haveOpenCLEv
+}
+
+{
+   OpenCV-DNN-getLayerFactoryMutex
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3dnn*20getLayerFactoryMutexEv
+}
+
+{
+   OpenCV-ocl::Context
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ocl7Context10getDefaultEb
+}
+
+{
+   OpenCV-ocl::Device
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ocl6Device10getDefaultEv
+}
+
+{
+   OpenCV-ocl::Queue
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ocl5Queue6createERKNS0_7ContextERKNS0_6DeviceE
+}
+
+{
+   OpenCV-ocl::Program
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ocl6Kernel6createEPKcRKNS0_7ProgramE
+}
+
+{
+   OpenCV-ocl::ProgramEntry
+   Memcheck:Leak
+   ...
+   fun:_ZNK2cv3ocl8internal12ProgramEntrycvRNS0_13ProgramSourceEEv
+}
+
+{
+   OpenCV-ocl::Context::getProg
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv3ocl7Context7getProgERKNS0_13ProgramSourceERKNS_6StringERS5_
+}
+
+{
+   OpenCV-getTraceManager()
+   Memcheck:Leak
+   ...
+   fun:getTraceManagerCallOnce
+}
+
+{
+   OpenCV-ITT
+   Memcheck:Leak
+   ...
+   fun:__itt_*create*
+}
+
+{
+   OpenCV-SingletonLogger
+   Memcheck:Leak
+   ...
+   fun:_ZN2cv5utils7logging8internalL26getGlobalLoggingInitStructEv
+}
+
+{
+   OpenCV-gtk_init
+   Memcheck:Leak
+   ...
+   fun:gtk_init
+   fun:cvInitSystem
+}
+
+{
+   OpenCV-FFmpeg-swsscale
+   Memcheck:Addr16
+   ...
+   fun:sws_scale
+   fun:_ZN20CvVideoWriter_FFMPEG10writeFrameEPKhiiiii
+   fun:cvWriteFrame_FFMPEG
+}
+
+{
+   OpenCV-GStreamer-gst_init
+   Memcheck:Leak
+   ...
+   fun:gst_init
+}
+
+{
+   OpenCV-GStreamer-gst_deinit
+   Memcheck:Leak
+   ...
+   fun:gst_deinit
+}
+
+{
+   OpenCV-GStreamer-gst_init_check
+   Memcheck:Leak
+   ...
+   fun:gst_init_check
+}
+
+{
+   OpenCV-GStreamer-gst_parse_launch_full-reachable
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   ...
+   fun:gst_parse_launch_full
+}
+
+{
+   OpenCV-OpenEXR-ThreadPool
+   Memcheck:Leak
+   fun:_Znwm
+   fun:_ZN16IlmThread_opencv10ThreadPoolC1Ej
+   fun:_ZN16IlmThread_opencv10ThreadPool16globalThreadPoolEv
+}
+
+{
+   OpenCV-test-gapi-thread-tls
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:calloc
+   fun:allocate_dtv
+   fun:_dl_allocate_tls
+}

+ 230 - 0
opencv/etc/valgrind_3rdparty.supp

@@ -0,0 +1,230 @@
+{
+   IPP static init
+   Memcheck:Cond
+   fun:ippicvGetCpuFeatures
+   fun:ippicvStaticInit
+}
+
+{
+   TBB - allocate_via_handler_v3 issue
+   Memcheck:Leak
+   fun:malloc
+   fun:_ZN3tbb8internal23allocate_via_handler_v3Em
+}
+
+{
+   GTest
+   Memcheck:Cond
+   fun:_ZN7testing8internal11CmpHelperLEIddEENS_15AssertionResultEPKcS4_RKT_RKT0_
+}
+
+{
+   GTest-RegisterTests
+   Memcheck:Leak
+   ...
+   fun:RegisterTests
+   ...
+   fun:_ZN7testing14InitGoogleTestEPiPPc
+}
+
+{
+   OpenCL
+   Memcheck:Cond
+   ...
+   obj:**/libOpenCL.so*
+}
+
+{
+   OpenCL-Intel
+   Memcheck:Cond
+   ...
+   obj:**/libigdrcl.so
+}
+
+{
+   OpenCL-Intel
+   Memcheck:Leak
+   ...
+   obj:*/libigdrcl.so*
+}
+
+{
+   OpenCL
+   Memcheck:Param
+   ioctl(generic)
+   ...
+   fun:clGetPlatformIDs
+}
+
+{
+   OpenCL-Init
+   Memcheck:Leak
+   ...
+   fun:clGetPlatformIDs
+}
+
+{
+   GTK-css
+   Memcheck:Leak
+   ...
+   fun:gtk_css_provider*
+}
+
+{
+   gcrypt
+   Memcheck:Leak
+   ...
+   obj:*/libgcrypt*
+}
+
+{
+   p11-kit
+   Memcheck:Leak
+   fun:*alloc
+   obj:*/libp11-kit*
+}
+
+{
+   gobject
+   Memcheck:Leak
+   fun:*alloc
+   ...
+   obj:*/libgobject*
+}
+
+{
+   tasn
+   Memcheck:Leak
+   fun:*alloc
+   obj:*/libtasn*.so*
+}
+
+{
+   dl_init
+   Memcheck:Leak
+   ...
+   fun:_dl_init
+}
+
+{
+   dl_open
+   Memcheck:Leak
+   ...
+   fun:_dl_open
+}
+
+{
+   GDAL
+   Memcheck:Leak
+   fun:*alloc
+   ...
+   obj:/usr/lib/libgdal.so.1.17.1
+}
+
+{
+   FFMPEG-sws_scale
+   Memcheck:Addr16
+   ...
+   fun:sws_scale
+   ...
+   fun:cvWriteFrame_FFMPEG
+}
+
+{
+   GStreamer-orc_program_compile_full
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   ...
+   fun:orc_program_compile_full
+   ...
+   fun:clone
+}
+
+{
+   GStreamer-orc_program_new_from_static_bytecode
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   ...
+   fun:orc_program_new_from_static_bytecode
+   ...
+   fun:clone
+}
+
+{
+   GStreamer-matroska-other
+   Memcheck:Leak
+   ...
+   fun:gst*
+   obj:*gstmatroska*
+   ...
+   obj:*glib*
+   fun:start_thread
+   fun:clone
+}
+
+{
+   GStreamer-matroska-gst_riff_create_video_caps
+   Memcheck:Leak
+   ...
+   fun:gst_riff_create_video_caps
+   obj:*gstmatroska*
+   ...
+   fun:clone
+}
+
+
+{
+   GStreamer-tls
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:calloc
+   fun:allocate_dtv
+   fun:_dl_allocate_tls
+}
+
+{
+   GStreamer-registry
+   Memcheck:Leak
+   ...
+   fun:gst_update_registry
+}
+
+{
+   GStreamer-plugin_load
+   Memcheck:Leak
+   ...
+   fun:gst_plugin_load_by_name
+}
+
+{
+   GStreamer-separate-threads
+   Memcheck:Leak
+   ...
+   obj:*/libglib*
+   fun:start_thread
+   fun:clone
+}
+
+{
+   clone-unknown-leak
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:_Znwm
+   obj:*
+   obj:*
+   fun:start_thread
+   fun:clone
+}
+
+{
+   avcodec57-ffv1-16bit-ubuntu18
+   Memcheck:Cond
+   ...
+   obj:/usr/lib/x86_64-linux-gnu/libavcodec.so.57.107.100
+   fun:avcodec_default_execute
+   obj:/usr/lib/x86_64-linux-gnu/libavcodec.so.57.107.100
+   fun:avcodec_encode_video2
+   obj:/usr/lib/x86_64-linux-gnu/libavcodec.so.57.107.100
+   fun:avcodec_send_frame
+   ...
+}

+ 4 - 0
opencv/java/AndroidManifest.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+      package="org.opencv" >
+</manifest>

+ 204 - 0
opencv/java/javadoc/allclasses-frame.html

@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/opencv/features2d/AffineFeature.html" title="class in org.opencv.features2d" target="classFrame">AffineFeature</a></li>
+<li><a href="org/opencv/features2d/AgastFeatureDetector.html" title="class in org.opencv.features2d" target="classFrame">AgastFeatureDetector</a></li>
+<li><a href="org/opencv/features2d/AKAZE.html" title="class in org.opencv.features2d" target="classFrame">AKAZE</a></li>
+<li><a href="org/opencv/core/Algorithm.html" title="class in org.opencv.core" target="classFrame">Algorithm</a></li>
+<li><a href="org/opencv/photo/AlignExposures.html" title="class in org.opencv.photo" target="classFrame">AlignExposures</a></li>
+<li><a href="org/opencv/photo/AlignMTB.html" title="class in org.opencv.photo" target="classFrame">AlignMTB</a></li>
+<li><a href="org/opencv/ml/ANN_MLP.html" title="class in org.opencv.ml" target="classFrame">ANN_MLP</a></li>
+<li><a href="org/opencv/objdetect/ArucoDetector.html" title="class in org.opencv.objdetect" target="classFrame">ArucoDetector</a></li>
+<li><a href="org/opencv/video/BackgroundSubtractor.html" title="class in org.opencv.video" target="classFrame">BackgroundSubtractor</a></li>
+<li><a href="org/opencv/video/BackgroundSubtractorKNN.html" title="class in org.opencv.video" target="classFrame">BackgroundSubtractorKNN</a></li>
+<li><a href="org/opencv/video/BackgroundSubtractorMOG2.html" title="class in org.opencv.video" target="classFrame">BackgroundSubtractorMOG2</a></li>
+<li><a href="org/opencv/objdetect/BarcodeDetector.html" title="class in org.opencv.objdetect" target="classFrame">BarcodeDetector</a></li>
+<li><a href="org/opencv/objdetect/BaseCascadeClassifier.html" title="class in org.opencv.objdetect" target="classFrame">BaseCascadeClassifier</a></li>
+<li><a href="org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d" target="classFrame">BFMatcher</a></li>
+<li><a href="org/opencv/objdetect/Board.html" title="class in org.opencv.objdetect" target="classFrame">Board</a></li>
+<li><a href="org/opencv/ml/Boost.html" title="class in org.opencv.ml" target="classFrame">Boost</a></li>
+<li><a href="org/opencv/features2d/BOWImgDescriptorExtractor.html" title="class in org.opencv.features2d" target="classFrame">BOWImgDescriptorExtractor</a></li>
+<li><a href="org/opencv/features2d/BOWKMeansTrainer.html" title="class in org.opencv.features2d" target="classFrame">BOWKMeansTrainer</a></li>
+<li><a href="org/opencv/features2d/BOWTrainer.html" title="class in org.opencv.features2d" target="classFrame">BOWTrainer</a></li>
+<li><a href="org/opencv/features2d/BRISK.html" title="class in org.opencv.features2d" target="classFrame">BRISK</a></li>
+<li><a href="org/opencv/calib3d/Calib3d.html" title="class in org.opencv.calib3d" target="classFrame">Calib3d</a></li>
+<li><a href="org/opencv/photo/CalibrateCRF.html" title="class in org.opencv.photo" target="classFrame">CalibrateCRF</a></li>
+<li><a href="org/opencv/photo/CalibrateDebevec.html" title="class in org.opencv.photo" target="classFrame">CalibrateDebevec</a></li>
+<li><a href="org/opencv/photo/CalibrateRobertson.html" title="class in org.opencv.photo" target="classFrame">CalibrateRobertson</a></li>
+<li><a href="org/opencv/android/Camera2Renderer.html" title="class in org.opencv.android" target="classFrame">Camera2Renderer</a></li>
+<li><a href="org/opencv/android/CameraActivity.html" title="class in org.opencv.android" target="classFrame">CameraActivity</a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android" target="classFrame">CameraBridgeViewBase</a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewFrame</span></a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewListener</span></a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewListener2</span></a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.ListItemAccessor</span></a></li>
+<li><a href="org/opencv/android/CameraGLRendererBase.html" title="class in org.opencv.android" target="classFrame">CameraGLRendererBase</a></li>
+<li><a href="org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android" target="classFrame">CameraGLSurfaceView</a></li>
+<li><a href="org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraGLSurfaceView.CameraTextureListener</span></a></li>
+<li><a href="org/opencv/android/CameraRenderer.html" title="class in org.opencv.android" target="classFrame">CameraRenderer</a></li>
+<li><a href="org/opencv/objdetect/CascadeClassifier.html" title="class in org.opencv.objdetect" target="classFrame">CascadeClassifier</a></li>
+<li><a href="org/opencv/objdetect/CharucoBoard.html" title="class in org.opencv.objdetect" target="classFrame">CharucoBoard</a></li>
+<li><a href="org/opencv/objdetect/CharucoDetector.html" title="class in org.opencv.objdetect" target="classFrame">CharucoDetector</a></li>
+<li><a href="org/opencv/objdetect/CharucoParameters.html" title="class in org.opencv.objdetect" target="classFrame">CharucoParameters</a></li>
+<li><a href="org/opencv/imgproc/CLAHE.html" title="class in org.opencv.imgproc" target="classFrame">CLAHE</a></li>
+<li><a href="org/opencv/dnn/ClassificationModel.html" title="class in org.opencv.dnn" target="classFrame">ClassificationModel</a></li>
+<li><a href="org/opencv/utils/Converters.html" title="class in org.opencv.utils" target="classFrame">Converters</a></li>
+<li><a href="org/opencv/core/Core.html" title="class in org.opencv.core" target="classFrame">Core</a></li>
+<li><a href="org/opencv/core/Core.MinMaxLocResult.html" title="class in org.opencv.core" target="classFrame">Core.MinMaxLocResult</a></li>
+<li><a href="org/opencv/core/CvException.html" title="class in org.opencv.core" target="classFrame">CvException</a></li>
+<li><a href="org/opencv/core/CvType.html" title="class in org.opencv.core" target="classFrame">CvType</a></li>
+<li><a href="org/opencv/video/DenseOpticalFlow.html" title="class in org.opencv.video" target="classFrame">DenseOpticalFlow</a></li>
+<li><a href="org/opencv/features2d/DescriptorMatcher.html" title="class in org.opencv.features2d" target="classFrame">DescriptorMatcher</a></li>
+<li><a href="org/opencv/dnn/DetectionModel.html" title="class in org.opencv.dnn" target="classFrame">DetectionModel</a></li>
+<li><a href="org/opencv/objdetect/DetectorParameters.html" title="class in org.opencv.objdetect" target="classFrame">DetectorParameters</a></li>
+<li><a href="org/opencv/objdetect/Dictionary.html" title="class in org.opencv.objdetect" target="classFrame">Dictionary</a></li>
+<li><a href="org/opencv/dnn/DictValue.html" title="class in org.opencv.dnn" target="classFrame">DictValue</a></li>
+<li><a href="org/opencv/video/DISOpticalFlow.html" title="class in org.opencv.video" target="classFrame">DISOpticalFlow</a></li>
+<li><a href="org/opencv/core/DMatch.html" title="class in org.opencv.core" target="classFrame">DMatch</a></li>
+<li><a href="org/opencv/dnn/Dnn.html" title="class in org.opencv.dnn" target="classFrame">Dnn</a></li>
+<li><a href="org/opencv/ml/DTrees.html" title="class in org.opencv.ml" target="classFrame">DTrees</a></li>
+<li><a href="org/opencv/ml/EM.html" title="class in org.opencv.ml" target="classFrame">EM</a></li>
+<li><a href="org/opencv/objdetect/FaceDetectorYN.html" title="class in org.opencv.objdetect" target="classFrame">FaceDetectorYN</a></li>
+<li><a href="org/opencv/objdetect/FaceRecognizerSF.html" title="class in org.opencv.objdetect" target="classFrame">FaceRecognizerSF</a></li>
+<li><a href="org/opencv/video/FarnebackOpticalFlow.html" title="class in org.opencv.video" target="classFrame">FarnebackOpticalFlow</a></li>
+<li><a href="org/opencv/features2d/FastFeatureDetector.html" title="class in org.opencv.features2d" target="classFrame">FastFeatureDetector</a></li>
+<li><a href="org/opencv/features2d/Feature2D.html" title="class in org.opencv.features2d" target="classFrame">Feature2D</a></li>
+<li><a href="org/opencv/features2d/Features2d.html" title="class in org.opencv.features2d" target="classFrame">Features2d</a></li>
+<li><a href="org/opencv/features2d/FlannBasedMatcher.html" title="class in org.opencv.features2d" target="classFrame">FlannBasedMatcher</a></li>
+<li><a href="org/opencv/android/FpsMeter.html" title="class in org.opencv.android" target="classFrame">FpsMeter</a></li>
+<li><a href="org/opencv/imgproc/GeneralizedHough.html" title="class in org.opencv.imgproc" target="classFrame">GeneralizedHough</a></li>
+<li><a href="org/opencv/imgproc/GeneralizedHoughBallard.html" title="class in org.opencv.imgproc" target="classFrame">GeneralizedHoughBallard</a></li>
+<li><a href="org/opencv/imgproc/GeneralizedHoughGuil.html" title="class in org.opencv.imgproc" target="classFrame">GeneralizedHoughGuil</a></li>
+<li><a href="org/opencv/features2d/GFTTDetector.html" title="class in org.opencv.features2d" target="classFrame">GFTTDetector</a></li>
+<li><a href="org/opencv/objdetect/GraphicalCodeDetector.html" title="class in org.opencv.objdetect" target="classFrame">GraphicalCodeDetector</a></li>
+<li><a href="org/opencv/objdetect/GridBoard.html" title="class in org.opencv.objdetect" target="classFrame">GridBoard</a></li>
+<li><a href="org/opencv/objdetect/HOGDescriptor.html" title="class in org.opencv.objdetect" target="classFrame">HOGDescriptor</a></li>
+<li><a href="org/opencv/dnn/Image2BlobParams.html" title="class in org.opencv.dnn" target="classFrame">Image2BlobParams</a></li>
+<li><a href="org/opencv/imgcodecs/Imgcodecs.html" title="class in org.opencv.imgcodecs" target="classFrame">Imgcodecs</a></li>
+<li><a href="org/opencv/imgproc/Imgproc.html" title="class in org.opencv.imgproc" target="classFrame">Imgproc</a></li>
+<li><a href="org/opencv/imgproc/IntelligentScissorsMB.html" title="class in org.opencv.imgproc" target="classFrame">IntelligentScissorsMB</a></li>
+<li><a href="org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android" target="classFrame">JavaCamera2View</a></li>
+<li><a href="org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html" title="class in org.opencv.android" target="classFrame">JavaCamera2View.JavaCameraSizeAccessor</a></li>
+<li><a href="org/opencv/android/JavaCameraView.html" title="class in org.opencv.android" target="classFrame">JavaCameraView</a></li>
+<li><a href="org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html" title="class in org.opencv.android" target="classFrame">JavaCameraView.JavaCameraSizeAccessor</a></li>
+<li><a href="org/opencv/video/KalmanFilter.html" title="class in org.opencv.video" target="classFrame">KalmanFilter</a></li>
+<li><a href="org/opencv/features2d/KAZE.html" title="class in org.opencv.features2d" target="classFrame">KAZE</a></li>
+<li><a href="org/opencv/core/KeyPoint.html" title="class in org.opencv.core" target="classFrame">KeyPoint</a></li>
+<li><a href="org/opencv/dnn/KeypointsModel.html" title="class in org.opencv.dnn" target="classFrame">KeypointsModel</a></li>
+<li><a href="org/opencv/ml/KNearest.html" title="class in org.opencv.ml" target="classFrame">KNearest</a></li>
+<li><a href="org/opencv/dnn/Layer.html" title="class in org.opencv.dnn" target="classFrame">Layer</a></li>
+<li><a href="org/opencv/imgproc/LineSegmentDetector.html" title="class in org.opencv.imgproc" target="classFrame">LineSegmentDetector</a></li>
+<li><a href="org/opencv/ml/LogisticRegression.html" title="class in org.opencv.ml" target="classFrame">LogisticRegression</a></li>
+<li><a href="org/opencv/core/Mat.html" title="class in org.opencv.core" target="classFrame">Mat</a></li>
+<li><a href="org/opencv/core/Mat.Atable.html" title="interface in org.opencv.core" target="classFrame"><span class="interfaceName">Mat.Atable</span></a></li>
+<li><a href="org/opencv/core/Mat.Tuple2.html" title="class in org.opencv.core" target="classFrame">Mat.Tuple2</a></li>
+<li><a href="org/opencv/core/Mat.Tuple3.html" title="class in org.opencv.core" target="classFrame">Mat.Tuple3</a></li>
+<li><a href="org/opencv/core/Mat.Tuple4.html" title="class in org.opencv.core" target="classFrame">Mat.Tuple4</a></li>
+<li><a href="org/opencv/core/MatOfByte.html" title="class in org.opencv.core" target="classFrame">MatOfByte</a></li>
+<li><a href="org/opencv/core/MatOfDMatch.html" title="class in org.opencv.core" target="classFrame">MatOfDMatch</a></li>
+<li><a href="org/opencv/core/MatOfDouble.html" title="class in org.opencv.core" target="classFrame">MatOfDouble</a></li>
+<li><a href="org/opencv/core/MatOfFloat.html" title="class in org.opencv.core" target="classFrame">MatOfFloat</a></li>
+<li><a href="org/opencv/core/MatOfFloat4.html" title="class in org.opencv.core" target="classFrame">MatOfFloat4</a></li>
+<li><a href="org/opencv/core/MatOfFloat6.html" title="class in org.opencv.core" target="classFrame">MatOfFloat6</a></li>
+<li><a href="org/opencv/core/MatOfInt.html" title="class in org.opencv.core" target="classFrame">MatOfInt</a></li>
+<li><a href="org/opencv/core/MatOfInt4.html" title="class in org.opencv.core" target="classFrame">MatOfInt4</a></li>
+<li><a href="org/opencv/core/MatOfKeyPoint.html" title="class in org.opencv.core" target="classFrame">MatOfKeyPoint</a></li>
+<li><a href="org/opencv/core/MatOfPoint.html" title="class in org.opencv.core" target="classFrame">MatOfPoint</a></li>
+<li><a href="org/opencv/core/MatOfPoint2f.html" title="class in org.opencv.core" target="classFrame">MatOfPoint2f</a></li>
+<li><a href="org/opencv/core/MatOfPoint3.html" title="class in org.opencv.core" target="classFrame">MatOfPoint3</a></li>
+<li><a href="org/opencv/core/MatOfPoint3f.html" title="class in org.opencv.core" target="classFrame">MatOfPoint3f</a></li>
+<li><a href="org/opencv/core/MatOfRect.html" title="class in org.opencv.core" target="classFrame">MatOfRect</a></li>
+<li><a href="org/opencv/core/MatOfRect2d.html" title="class in org.opencv.core" target="classFrame">MatOfRect2d</a></li>
+<li><a href="org/opencv/core/MatOfRotatedRect.html" title="class in org.opencv.core" target="classFrame">MatOfRotatedRect</a></li>
+<li><a href="org/opencv/photo/MergeDebevec.html" title="class in org.opencv.photo" target="classFrame">MergeDebevec</a></li>
+<li><a href="org/opencv/photo/MergeExposures.html" title="class in org.opencv.photo" target="classFrame">MergeExposures</a></li>
+<li><a href="org/opencv/photo/MergeMertens.html" title="class in org.opencv.photo" target="classFrame">MergeMertens</a></li>
+<li><a href="org/opencv/photo/MergeRobertson.html" title="class in org.opencv.photo" target="classFrame">MergeRobertson</a></li>
+<li><a href="org/opencv/ml/Ml.html" title="class in org.opencv.ml" target="classFrame">Ml</a></li>
+<li><a href="org/opencv/dnn/Model.html" title="class in org.opencv.dnn" target="classFrame">Model</a></li>
+<li><a href="org/opencv/imgproc/Moments.html" title="class in org.opencv.imgproc" target="classFrame">Moments</a></li>
+<li><a href="org/opencv/features2d/MSER.html" title="class in org.opencv.features2d" target="classFrame">MSER</a></li>
+<li><a href="org/opencv/android/NativeCameraView.html" title="class in org.opencv.android" target="classFrame">NativeCameraView</a></li>
+<li><a href="org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html" title="class in org.opencv.android" target="classFrame">NativeCameraView.OpenCvSizeAccessor</a></li>
+<li><a href="org/opencv/dnn/Net.html" title="class in org.opencv.dnn" target="classFrame">Net</a></li>
+<li><a href="org/opencv/ml/NormalBayesClassifier.html" title="class in org.opencv.ml" target="classFrame">NormalBayesClassifier</a></li>
+<li><a href="org/opencv/objdetect/Objdetect.html" title="class in org.opencv.objdetect" target="classFrame">Objdetect</a></li>
+<li><a href="org/opencv/osgi/OpenCVInterface.html" title="interface in org.opencv.osgi" target="classFrame"><span class="interfaceName">OpenCVInterface</span></a></li>
+<li><a href="org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android" target="classFrame">OpenCVLoader</a></li>
+<li><a href="org/opencv/osgi/OpenCVNativeLoader.html" title="class in org.opencv.osgi" target="classFrame">OpenCVNativeLoader</a></li>
+<li><a href="org/opencv/features2d/ORB.html" title="class in org.opencv.features2d" target="classFrame">ORB</a></li>
+<li><a href="org/opencv/ml/ParamGrid.html" title="class in org.opencv.ml" target="classFrame">ParamGrid</a></li>
+<li><a href="org/opencv/photo/Photo.html" title="class in org.opencv.photo" target="classFrame">Photo</a></li>
+<li><a href="org/opencv/core/Point.html" title="class in org.opencv.core" target="classFrame">Point</a></li>
+<li><a href="org/opencv/core/Point3.html" title="class in org.opencv.core" target="classFrame">Point3</a></li>
+<li><a href="org/opencv/objdetect/QRCodeDetector.html" title="class in org.opencv.objdetect" target="classFrame">QRCodeDetector</a></li>
+<li><a href="org/opencv/objdetect/QRCodeDetectorAruco.html" title="class in org.opencv.objdetect" target="classFrame">QRCodeDetectorAruco</a></li>
+<li><a href="org/opencv/objdetect/QRCodeDetectorAruco_Params.html" title="class in org.opencv.objdetect" target="classFrame">QRCodeDetectorAruco_Params</a></li>
+<li><a href="org/opencv/objdetect/QRCodeEncoder.html" title="class in org.opencv.objdetect" target="classFrame">QRCodeEncoder</a></li>
+<li><a href="org/opencv/objdetect/QRCodeEncoder_Params.html" title="class in org.opencv.objdetect" target="classFrame">QRCodeEncoder_Params</a></li>
+<li><a href="org/opencv/core/Range.html" title="class in org.opencv.core" target="classFrame">Range</a></li>
+<li><a href="org/opencv/core/Rect.html" title="class in org.opencv.core" target="classFrame">Rect</a></li>
+<li><a href="org/opencv/core/Rect2d.html" title="class in org.opencv.core" target="classFrame">Rect2d</a></li>
+<li><a href="org/opencv/objdetect/RefineParameters.html" title="class in org.opencv.objdetect" target="classFrame">RefineParameters</a></li>
+<li><a href="org/opencv/core/RotatedRect.html" title="class in org.opencv.core" target="classFrame">RotatedRect</a></li>
+<li><a href="org/opencv/ml/RTrees.html" title="class in org.opencv.ml" target="classFrame">RTrees</a></li>
+<li><a href="org/opencv/core/Scalar.html" title="class in org.opencv.core" target="classFrame">Scalar</a></li>
+<li><a href="org/opencv/dnn/SegmentationModel.html" title="class in org.opencv.dnn" target="classFrame">SegmentationModel</a></li>
+<li><a href="org/opencv/features2d/SIFT.html" title="class in org.opencv.features2d" target="classFrame">SIFT</a></li>
+<li><a href="org/opencv/features2d/SimpleBlobDetector.html" title="class in org.opencv.features2d" target="classFrame">SimpleBlobDetector</a></li>
+<li><a href="org/opencv/features2d/SimpleBlobDetector_Params.html" title="class in org.opencv.features2d" target="classFrame">SimpleBlobDetector_Params</a></li>
+<li><a href="org/opencv/core/Size.html" title="class in org.opencv.core" target="classFrame">Size</a></li>
+<li><a href="org/opencv/video/SparseOpticalFlow.html" title="class in org.opencv.video" target="classFrame">SparseOpticalFlow</a></li>
+<li><a href="org/opencv/video/SparsePyrLKOpticalFlow.html" title="class in org.opencv.video" target="classFrame">SparsePyrLKOpticalFlow</a></li>
+<li><a href="org/opencv/ml/StatModel.html" title="class in org.opencv.ml" target="classFrame">StatModel</a></li>
+<li><a href="org/opencv/calib3d/StereoBM.html" title="class in org.opencv.calib3d" target="classFrame">StereoBM</a></li>
+<li><a href="org/opencv/calib3d/StereoMatcher.html" title="class in org.opencv.calib3d" target="classFrame">StereoMatcher</a></li>
+<li><a href="org/opencv/calib3d/StereoSGBM.html" title="class in org.opencv.calib3d" target="classFrame">StereoSGBM</a></li>
+<li><a href="org/opencv/imgproc/Subdiv2D.html" title="class in org.opencv.imgproc" target="classFrame">Subdiv2D</a></li>
+<li><a href="org/opencv/ml/SVM.html" title="class in org.opencv.ml" target="classFrame">SVM</a></li>
+<li><a href="org/opencv/ml/SVMSGD.html" title="class in org.opencv.ml" target="classFrame">SVMSGD</a></li>
+<li><a href="org/opencv/core/TermCriteria.html" title="class in org.opencv.core" target="classFrame">TermCriteria</a></li>
+<li><a href="org/opencv/dnn/TextDetectionModel.html" title="class in org.opencv.dnn" target="classFrame">TextDetectionModel</a></li>
+<li><a href="org/opencv/dnn/TextDetectionModel_DB.html" title="class in org.opencv.dnn" target="classFrame">TextDetectionModel_DB</a></li>
+<li><a href="org/opencv/dnn/TextDetectionModel_EAST.html" title="class in org.opencv.dnn" target="classFrame">TextDetectionModel_EAST</a></li>
+<li><a href="org/opencv/dnn/TextRecognitionModel.html" title="class in org.opencv.dnn" target="classFrame">TextRecognitionModel</a></li>
+<li><a href="org/opencv/core/TickMeter.html" title="class in org.opencv.core" target="classFrame">TickMeter</a></li>
+<li><a href="org/opencv/photo/Tonemap.html" title="class in org.opencv.photo" target="classFrame">Tonemap</a></li>
+<li><a href="org/opencv/photo/TonemapDrago.html" title="class in org.opencv.photo" target="classFrame">TonemapDrago</a></li>
+<li><a href="org/opencv/photo/TonemapMantiuk.html" title="class in org.opencv.photo" target="classFrame">TonemapMantiuk</a></li>
+<li><a href="org/opencv/photo/TonemapReinhard.html" title="class in org.opencv.photo" target="classFrame">TonemapReinhard</a></li>
+<li><a href="org/opencv/video/Tracker.html" title="class in org.opencv.video" target="classFrame">Tracker</a></li>
+<li><a href="org/opencv/video/TrackerDaSiamRPN.html" title="class in org.opencv.video" target="classFrame">TrackerDaSiamRPN</a></li>
+<li><a href="org/opencv/video/TrackerDaSiamRPN_Params.html" title="class in org.opencv.video" target="classFrame">TrackerDaSiamRPN_Params</a></li>
+<li><a href="org/opencv/video/TrackerGOTURN.html" title="class in org.opencv.video" target="classFrame">TrackerGOTURN</a></li>
+<li><a href="org/opencv/video/TrackerGOTURN_Params.html" title="class in org.opencv.video" target="classFrame">TrackerGOTURN_Params</a></li>
+<li><a href="org/opencv/video/TrackerMIL.html" title="class in org.opencv.video" target="classFrame">TrackerMIL</a></li>
+<li><a href="org/opencv/video/TrackerMIL_Params.html" title="class in org.opencv.video" target="classFrame">TrackerMIL_Params</a></li>
+<li><a href="org/opencv/video/TrackerNano.html" title="class in org.opencv.video" target="classFrame">TrackerNano</a></li>
+<li><a href="org/opencv/video/TrackerNano_Params.html" title="class in org.opencv.video" target="classFrame">TrackerNano_Params</a></li>
+<li><a href="org/opencv/video/TrackerVit.html" title="class in org.opencv.video" target="classFrame">TrackerVit</a></li>
+<li><a href="org/opencv/video/TrackerVit_Params.html" title="class in org.opencv.video" target="classFrame">TrackerVit_Params</a></li>
+<li><a href="org/opencv/ml/TrainData.html" title="class in org.opencv.ml" target="classFrame">TrainData</a></li>
+<li><a href="org/opencv/calib3d/UsacParams.html" title="class in org.opencv.calib3d" target="classFrame">UsacParams</a></li>
+<li><a href="org/opencv/android/Utils.html" title="class in org.opencv.android" target="classFrame">Utils</a></li>
+<li><a href="org/opencv/video/VariationalRefinement.html" title="class in org.opencv.video" target="classFrame">VariationalRefinement</a></li>
+<li><a href="org/opencv/video/Video.html" title="class in org.opencv.video" target="classFrame">Video</a></li>
+<li><a href="org/opencv/videoio/VideoCapture.html" title="class in org.opencv.videoio" target="classFrame">VideoCapture</a></li>
+<li><a href="org/opencv/videoio/Videoio.html" title="class in org.opencv.videoio" target="classFrame">Videoio</a></li>
+<li><a href="org/opencv/videoio/VideoWriter.html" title="class in org.opencv.videoio" target="classFrame">VideoWriter</a></li>
+</ul>
+</div>
+</body>
+</html>

+ 204 - 0
opencv/java/javadoc/allclasses-noframe.html

@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/opencv/features2d/AffineFeature.html" title="class in org.opencv.features2d">AffineFeature</a></li>
+<li><a href="org/opencv/features2d/AgastFeatureDetector.html" title="class in org.opencv.features2d">AgastFeatureDetector</a></li>
+<li><a href="org/opencv/features2d/AKAZE.html" title="class in org.opencv.features2d">AKAZE</a></li>
+<li><a href="org/opencv/core/Algorithm.html" title="class in org.opencv.core">Algorithm</a></li>
+<li><a href="org/opencv/photo/AlignExposures.html" title="class in org.opencv.photo">AlignExposures</a></li>
+<li><a href="org/opencv/photo/AlignMTB.html" title="class in org.opencv.photo">AlignMTB</a></li>
+<li><a href="org/opencv/ml/ANN_MLP.html" title="class in org.opencv.ml">ANN_MLP</a></li>
+<li><a href="org/opencv/objdetect/ArucoDetector.html" title="class in org.opencv.objdetect">ArucoDetector</a></li>
+<li><a href="org/opencv/video/BackgroundSubtractor.html" title="class in org.opencv.video">BackgroundSubtractor</a></li>
+<li><a href="org/opencv/video/BackgroundSubtractorKNN.html" title="class in org.opencv.video">BackgroundSubtractorKNN</a></li>
+<li><a href="org/opencv/video/BackgroundSubtractorMOG2.html" title="class in org.opencv.video">BackgroundSubtractorMOG2</a></li>
+<li><a href="org/opencv/objdetect/BarcodeDetector.html" title="class in org.opencv.objdetect">BarcodeDetector</a></li>
+<li><a href="org/opencv/objdetect/BaseCascadeClassifier.html" title="class in org.opencv.objdetect">BaseCascadeClassifier</a></li>
+<li><a href="org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a></li>
+<li><a href="org/opencv/objdetect/Board.html" title="class in org.opencv.objdetect">Board</a></li>
+<li><a href="org/opencv/ml/Boost.html" title="class in org.opencv.ml">Boost</a></li>
+<li><a href="org/opencv/features2d/BOWImgDescriptorExtractor.html" title="class in org.opencv.features2d">BOWImgDescriptorExtractor</a></li>
+<li><a href="org/opencv/features2d/BOWKMeansTrainer.html" title="class in org.opencv.features2d">BOWKMeansTrainer</a></li>
+<li><a href="org/opencv/features2d/BOWTrainer.html" title="class in org.opencv.features2d">BOWTrainer</a></li>
+<li><a href="org/opencv/features2d/BRISK.html" title="class in org.opencv.features2d">BRISK</a></li>
+<li><a href="org/opencv/calib3d/Calib3d.html" title="class in org.opencv.calib3d">Calib3d</a></li>
+<li><a href="org/opencv/photo/CalibrateCRF.html" title="class in org.opencv.photo">CalibrateCRF</a></li>
+<li><a href="org/opencv/photo/CalibrateDebevec.html" title="class in org.opencv.photo">CalibrateDebevec</a></li>
+<li><a href="org/opencv/photo/CalibrateRobertson.html" title="class in org.opencv.photo">CalibrateRobertson</a></li>
+<li><a href="org/opencv/android/Camera2Renderer.html" title="class in org.opencv.android">Camera2Renderer</a></li>
+<li><a href="org/opencv/android/CameraActivity.html" title="class in org.opencv.android">CameraActivity</a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android">CameraBridgeViewBase</a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewFrame</span></a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewListener</span></a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewListener2</span></a></li>
+<li><a href="org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android"><span class="interfaceName">CameraBridgeViewBase.ListItemAccessor</span></a></li>
+<li><a href="org/opencv/android/CameraGLRendererBase.html" title="class in org.opencv.android">CameraGLRendererBase</a></li>
+<li><a href="org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android">CameraGLSurfaceView</a></li>
+<li><a href="org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html" title="interface in org.opencv.android"><span class="interfaceName">CameraGLSurfaceView.CameraTextureListener</span></a></li>
+<li><a href="org/opencv/android/CameraRenderer.html" title="class in org.opencv.android">CameraRenderer</a></li>
+<li><a href="org/opencv/objdetect/CascadeClassifier.html" title="class in org.opencv.objdetect">CascadeClassifier</a></li>
+<li><a href="org/opencv/objdetect/CharucoBoard.html" title="class in org.opencv.objdetect">CharucoBoard</a></li>
+<li><a href="org/opencv/objdetect/CharucoDetector.html" title="class in org.opencv.objdetect">CharucoDetector</a></li>
+<li><a href="org/opencv/objdetect/CharucoParameters.html" title="class in org.opencv.objdetect">CharucoParameters</a></li>
+<li><a href="org/opencv/imgproc/CLAHE.html" title="class in org.opencv.imgproc">CLAHE</a></li>
+<li><a href="org/opencv/dnn/ClassificationModel.html" title="class in org.opencv.dnn">ClassificationModel</a></li>
+<li><a href="org/opencv/utils/Converters.html" title="class in org.opencv.utils">Converters</a></li>
+<li><a href="org/opencv/core/Core.html" title="class in org.opencv.core">Core</a></li>
+<li><a href="org/opencv/core/Core.MinMaxLocResult.html" title="class in org.opencv.core">Core.MinMaxLocResult</a></li>
+<li><a href="org/opencv/core/CvException.html" title="class in org.opencv.core">CvException</a></li>
+<li><a href="org/opencv/core/CvType.html" title="class in org.opencv.core">CvType</a></li>
+<li><a href="org/opencv/video/DenseOpticalFlow.html" title="class in org.opencv.video">DenseOpticalFlow</a></li>
+<li><a href="org/opencv/features2d/DescriptorMatcher.html" title="class in org.opencv.features2d">DescriptorMatcher</a></li>
+<li><a href="org/opencv/dnn/DetectionModel.html" title="class in org.opencv.dnn">DetectionModel</a></li>
+<li><a href="org/opencv/objdetect/DetectorParameters.html" title="class in org.opencv.objdetect">DetectorParameters</a></li>
+<li><a href="org/opencv/objdetect/Dictionary.html" title="class in org.opencv.objdetect">Dictionary</a></li>
+<li><a href="org/opencv/dnn/DictValue.html" title="class in org.opencv.dnn">DictValue</a></li>
+<li><a href="org/opencv/video/DISOpticalFlow.html" title="class in org.opencv.video">DISOpticalFlow</a></li>
+<li><a href="org/opencv/core/DMatch.html" title="class in org.opencv.core">DMatch</a></li>
+<li><a href="org/opencv/dnn/Dnn.html" title="class in org.opencv.dnn">Dnn</a></li>
+<li><a href="org/opencv/ml/DTrees.html" title="class in org.opencv.ml">DTrees</a></li>
+<li><a href="org/opencv/ml/EM.html" title="class in org.opencv.ml">EM</a></li>
+<li><a href="org/opencv/objdetect/FaceDetectorYN.html" title="class in org.opencv.objdetect">FaceDetectorYN</a></li>
+<li><a href="org/opencv/objdetect/FaceRecognizerSF.html" title="class in org.opencv.objdetect">FaceRecognizerSF</a></li>
+<li><a href="org/opencv/video/FarnebackOpticalFlow.html" title="class in org.opencv.video">FarnebackOpticalFlow</a></li>
+<li><a href="org/opencv/features2d/FastFeatureDetector.html" title="class in org.opencv.features2d">FastFeatureDetector</a></li>
+<li><a href="org/opencv/features2d/Feature2D.html" title="class in org.opencv.features2d">Feature2D</a></li>
+<li><a href="org/opencv/features2d/Features2d.html" title="class in org.opencv.features2d">Features2d</a></li>
+<li><a href="org/opencv/features2d/FlannBasedMatcher.html" title="class in org.opencv.features2d">FlannBasedMatcher</a></li>
+<li><a href="org/opencv/android/FpsMeter.html" title="class in org.opencv.android">FpsMeter</a></li>
+<li><a href="org/opencv/imgproc/GeneralizedHough.html" title="class in org.opencv.imgproc">GeneralizedHough</a></li>
+<li><a href="org/opencv/imgproc/GeneralizedHoughBallard.html" title="class in org.opencv.imgproc">GeneralizedHoughBallard</a></li>
+<li><a href="org/opencv/imgproc/GeneralizedHoughGuil.html" title="class in org.opencv.imgproc">GeneralizedHoughGuil</a></li>
+<li><a href="org/opencv/features2d/GFTTDetector.html" title="class in org.opencv.features2d">GFTTDetector</a></li>
+<li><a href="org/opencv/objdetect/GraphicalCodeDetector.html" title="class in org.opencv.objdetect">GraphicalCodeDetector</a></li>
+<li><a href="org/opencv/objdetect/GridBoard.html" title="class in org.opencv.objdetect">GridBoard</a></li>
+<li><a href="org/opencv/objdetect/HOGDescriptor.html" title="class in org.opencv.objdetect">HOGDescriptor</a></li>
+<li><a href="org/opencv/dnn/Image2BlobParams.html" title="class in org.opencv.dnn">Image2BlobParams</a></li>
+<li><a href="org/opencv/imgcodecs/Imgcodecs.html" title="class in org.opencv.imgcodecs">Imgcodecs</a></li>
+<li><a href="org/opencv/imgproc/Imgproc.html" title="class in org.opencv.imgproc">Imgproc</a></li>
+<li><a href="org/opencv/imgproc/IntelligentScissorsMB.html" title="class in org.opencv.imgproc">IntelligentScissorsMB</a></li>
+<li><a href="org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android">JavaCamera2View</a></li>
+<li><a href="org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html" title="class in org.opencv.android">JavaCamera2View.JavaCameraSizeAccessor</a></li>
+<li><a href="org/opencv/android/JavaCameraView.html" title="class in org.opencv.android">JavaCameraView</a></li>
+<li><a href="org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html" title="class in org.opencv.android">JavaCameraView.JavaCameraSizeAccessor</a></li>
+<li><a href="org/opencv/video/KalmanFilter.html" title="class in org.opencv.video">KalmanFilter</a></li>
+<li><a href="org/opencv/features2d/KAZE.html" title="class in org.opencv.features2d">KAZE</a></li>
+<li><a href="org/opencv/core/KeyPoint.html" title="class in org.opencv.core">KeyPoint</a></li>
+<li><a href="org/opencv/dnn/KeypointsModel.html" title="class in org.opencv.dnn">KeypointsModel</a></li>
+<li><a href="org/opencv/ml/KNearest.html" title="class in org.opencv.ml">KNearest</a></li>
+<li><a href="org/opencv/dnn/Layer.html" title="class in org.opencv.dnn">Layer</a></li>
+<li><a href="org/opencv/imgproc/LineSegmentDetector.html" title="class in org.opencv.imgproc">LineSegmentDetector</a></li>
+<li><a href="org/opencv/ml/LogisticRegression.html" title="class in org.opencv.ml">LogisticRegression</a></li>
+<li><a href="org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></li>
+<li><a href="org/opencv/core/Mat.Atable.html" title="interface in org.opencv.core"><span class="interfaceName">Mat.Atable</span></a></li>
+<li><a href="org/opencv/core/Mat.Tuple2.html" title="class in org.opencv.core">Mat.Tuple2</a></li>
+<li><a href="org/opencv/core/Mat.Tuple3.html" title="class in org.opencv.core">Mat.Tuple3</a></li>
+<li><a href="org/opencv/core/Mat.Tuple4.html" title="class in org.opencv.core">Mat.Tuple4</a></li>
+<li><a href="org/opencv/core/MatOfByte.html" title="class in org.opencv.core">MatOfByte</a></li>
+<li><a href="org/opencv/core/MatOfDMatch.html" title="class in org.opencv.core">MatOfDMatch</a></li>
+<li><a href="org/opencv/core/MatOfDouble.html" title="class in org.opencv.core">MatOfDouble</a></li>
+<li><a href="org/opencv/core/MatOfFloat.html" title="class in org.opencv.core">MatOfFloat</a></li>
+<li><a href="org/opencv/core/MatOfFloat4.html" title="class in org.opencv.core">MatOfFloat4</a></li>
+<li><a href="org/opencv/core/MatOfFloat6.html" title="class in org.opencv.core">MatOfFloat6</a></li>
+<li><a href="org/opencv/core/MatOfInt.html" title="class in org.opencv.core">MatOfInt</a></li>
+<li><a href="org/opencv/core/MatOfInt4.html" title="class in org.opencv.core">MatOfInt4</a></li>
+<li><a href="org/opencv/core/MatOfKeyPoint.html" title="class in org.opencv.core">MatOfKeyPoint</a></li>
+<li><a href="org/opencv/core/MatOfPoint.html" title="class in org.opencv.core">MatOfPoint</a></li>
+<li><a href="org/opencv/core/MatOfPoint2f.html" title="class in org.opencv.core">MatOfPoint2f</a></li>
+<li><a href="org/opencv/core/MatOfPoint3.html" title="class in org.opencv.core">MatOfPoint3</a></li>
+<li><a href="org/opencv/core/MatOfPoint3f.html" title="class in org.opencv.core">MatOfPoint3f</a></li>
+<li><a href="org/opencv/core/MatOfRect.html" title="class in org.opencv.core">MatOfRect</a></li>
+<li><a href="org/opencv/core/MatOfRect2d.html" title="class in org.opencv.core">MatOfRect2d</a></li>
+<li><a href="org/opencv/core/MatOfRotatedRect.html" title="class in org.opencv.core">MatOfRotatedRect</a></li>
+<li><a href="org/opencv/photo/MergeDebevec.html" title="class in org.opencv.photo">MergeDebevec</a></li>
+<li><a href="org/opencv/photo/MergeExposures.html" title="class in org.opencv.photo">MergeExposures</a></li>
+<li><a href="org/opencv/photo/MergeMertens.html" title="class in org.opencv.photo">MergeMertens</a></li>
+<li><a href="org/opencv/photo/MergeRobertson.html" title="class in org.opencv.photo">MergeRobertson</a></li>
+<li><a href="org/opencv/ml/Ml.html" title="class in org.opencv.ml">Ml</a></li>
+<li><a href="org/opencv/dnn/Model.html" title="class in org.opencv.dnn">Model</a></li>
+<li><a href="org/opencv/imgproc/Moments.html" title="class in org.opencv.imgproc">Moments</a></li>
+<li><a href="org/opencv/features2d/MSER.html" title="class in org.opencv.features2d">MSER</a></li>
+<li><a href="org/opencv/android/NativeCameraView.html" title="class in org.opencv.android">NativeCameraView</a></li>
+<li><a href="org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html" title="class in org.opencv.android">NativeCameraView.OpenCvSizeAccessor</a></li>
+<li><a href="org/opencv/dnn/Net.html" title="class in org.opencv.dnn">Net</a></li>
+<li><a href="org/opencv/ml/NormalBayesClassifier.html" title="class in org.opencv.ml">NormalBayesClassifier</a></li>
+<li><a href="org/opencv/objdetect/Objdetect.html" title="class in org.opencv.objdetect">Objdetect</a></li>
+<li><a href="org/opencv/osgi/OpenCVInterface.html" title="interface in org.opencv.osgi"><span class="interfaceName">OpenCVInterface</span></a></li>
+<li><a href="org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android">OpenCVLoader</a></li>
+<li><a href="org/opencv/osgi/OpenCVNativeLoader.html" title="class in org.opencv.osgi">OpenCVNativeLoader</a></li>
+<li><a href="org/opencv/features2d/ORB.html" title="class in org.opencv.features2d">ORB</a></li>
+<li><a href="org/opencv/ml/ParamGrid.html" title="class in org.opencv.ml">ParamGrid</a></li>
+<li><a href="org/opencv/photo/Photo.html" title="class in org.opencv.photo">Photo</a></li>
+<li><a href="org/opencv/core/Point.html" title="class in org.opencv.core">Point</a></li>
+<li><a href="org/opencv/core/Point3.html" title="class in org.opencv.core">Point3</a></li>
+<li><a href="org/opencv/objdetect/QRCodeDetector.html" title="class in org.opencv.objdetect">QRCodeDetector</a></li>
+<li><a href="org/opencv/objdetect/QRCodeDetectorAruco.html" title="class in org.opencv.objdetect">QRCodeDetectorAruco</a></li>
+<li><a href="org/opencv/objdetect/QRCodeDetectorAruco_Params.html" title="class in org.opencv.objdetect">QRCodeDetectorAruco_Params</a></li>
+<li><a href="org/opencv/objdetect/QRCodeEncoder.html" title="class in org.opencv.objdetect">QRCodeEncoder</a></li>
+<li><a href="org/opencv/objdetect/QRCodeEncoder_Params.html" title="class in org.opencv.objdetect">QRCodeEncoder_Params</a></li>
+<li><a href="org/opencv/core/Range.html" title="class in org.opencv.core">Range</a></li>
+<li><a href="org/opencv/core/Rect.html" title="class in org.opencv.core">Rect</a></li>
+<li><a href="org/opencv/core/Rect2d.html" title="class in org.opencv.core">Rect2d</a></li>
+<li><a href="org/opencv/objdetect/RefineParameters.html" title="class in org.opencv.objdetect">RefineParameters</a></li>
+<li><a href="org/opencv/core/RotatedRect.html" title="class in org.opencv.core">RotatedRect</a></li>
+<li><a href="org/opencv/ml/RTrees.html" title="class in org.opencv.ml">RTrees</a></li>
+<li><a href="org/opencv/core/Scalar.html" title="class in org.opencv.core">Scalar</a></li>
+<li><a href="org/opencv/dnn/SegmentationModel.html" title="class in org.opencv.dnn">SegmentationModel</a></li>
+<li><a href="org/opencv/features2d/SIFT.html" title="class in org.opencv.features2d">SIFT</a></li>
+<li><a href="org/opencv/features2d/SimpleBlobDetector.html" title="class in org.opencv.features2d">SimpleBlobDetector</a></li>
+<li><a href="org/opencv/features2d/SimpleBlobDetector_Params.html" title="class in org.opencv.features2d">SimpleBlobDetector_Params</a></li>
+<li><a href="org/opencv/core/Size.html" title="class in org.opencv.core">Size</a></li>
+<li><a href="org/opencv/video/SparseOpticalFlow.html" title="class in org.opencv.video">SparseOpticalFlow</a></li>
+<li><a href="org/opencv/video/SparsePyrLKOpticalFlow.html" title="class in org.opencv.video">SparsePyrLKOpticalFlow</a></li>
+<li><a href="org/opencv/ml/StatModel.html" title="class in org.opencv.ml">StatModel</a></li>
+<li><a href="org/opencv/calib3d/StereoBM.html" title="class in org.opencv.calib3d">StereoBM</a></li>
+<li><a href="org/opencv/calib3d/StereoMatcher.html" title="class in org.opencv.calib3d">StereoMatcher</a></li>
+<li><a href="org/opencv/calib3d/StereoSGBM.html" title="class in org.opencv.calib3d">StereoSGBM</a></li>
+<li><a href="org/opencv/imgproc/Subdiv2D.html" title="class in org.opencv.imgproc">Subdiv2D</a></li>
+<li><a href="org/opencv/ml/SVM.html" title="class in org.opencv.ml">SVM</a></li>
+<li><a href="org/opencv/ml/SVMSGD.html" title="class in org.opencv.ml">SVMSGD</a></li>
+<li><a href="org/opencv/core/TermCriteria.html" title="class in org.opencv.core">TermCriteria</a></li>
+<li><a href="org/opencv/dnn/TextDetectionModel.html" title="class in org.opencv.dnn">TextDetectionModel</a></li>
+<li><a href="org/opencv/dnn/TextDetectionModel_DB.html" title="class in org.opencv.dnn">TextDetectionModel_DB</a></li>
+<li><a href="org/opencv/dnn/TextDetectionModel_EAST.html" title="class in org.opencv.dnn">TextDetectionModel_EAST</a></li>
+<li><a href="org/opencv/dnn/TextRecognitionModel.html" title="class in org.opencv.dnn">TextRecognitionModel</a></li>
+<li><a href="org/opencv/core/TickMeter.html" title="class in org.opencv.core">TickMeter</a></li>
+<li><a href="org/opencv/photo/Tonemap.html" title="class in org.opencv.photo">Tonemap</a></li>
+<li><a href="org/opencv/photo/TonemapDrago.html" title="class in org.opencv.photo">TonemapDrago</a></li>
+<li><a href="org/opencv/photo/TonemapMantiuk.html" title="class in org.opencv.photo">TonemapMantiuk</a></li>
+<li><a href="org/opencv/photo/TonemapReinhard.html" title="class in org.opencv.photo">TonemapReinhard</a></li>
+<li><a href="org/opencv/video/Tracker.html" title="class in org.opencv.video">Tracker</a></li>
+<li><a href="org/opencv/video/TrackerDaSiamRPN.html" title="class in org.opencv.video">TrackerDaSiamRPN</a></li>
+<li><a href="org/opencv/video/TrackerDaSiamRPN_Params.html" title="class in org.opencv.video">TrackerDaSiamRPN_Params</a></li>
+<li><a href="org/opencv/video/TrackerGOTURN.html" title="class in org.opencv.video">TrackerGOTURN</a></li>
+<li><a href="org/opencv/video/TrackerGOTURN_Params.html" title="class in org.opencv.video">TrackerGOTURN_Params</a></li>
+<li><a href="org/opencv/video/TrackerMIL.html" title="class in org.opencv.video">TrackerMIL</a></li>
+<li><a href="org/opencv/video/TrackerMIL_Params.html" title="class in org.opencv.video">TrackerMIL_Params</a></li>
+<li><a href="org/opencv/video/TrackerNano.html" title="class in org.opencv.video">TrackerNano</a></li>
+<li><a href="org/opencv/video/TrackerNano_Params.html" title="class in org.opencv.video">TrackerNano_Params</a></li>
+<li><a href="org/opencv/video/TrackerVit.html" title="class in org.opencv.video">TrackerVit</a></li>
+<li><a href="org/opencv/video/TrackerVit_Params.html" title="class in org.opencv.video">TrackerVit_Params</a></li>
+<li><a href="org/opencv/ml/TrainData.html" title="class in org.opencv.ml">TrainData</a></li>
+<li><a href="org/opencv/calib3d/UsacParams.html" title="class in org.opencv.calib3d">UsacParams</a></li>
+<li><a href="org/opencv/android/Utils.html" title="class in org.opencv.android">Utils</a></li>
+<li><a href="org/opencv/video/VariationalRefinement.html" title="class in org.opencv.video">VariationalRefinement</a></li>
+<li><a href="org/opencv/video/Video.html" title="class in org.opencv.video">Video</a></li>
+<li><a href="org/opencv/videoio/VideoCapture.html" title="class in org.opencv.videoio">VideoCapture</a></li>
+<li><a href="org/opencv/videoio/Videoio.html" title="class in org.opencv.videoio">Videoio</a></li>
+<li><a href="org/opencv/videoio/VideoWriter.html" title="class in org.opencv.videoio">VideoWriter</a></li>
+</ul>
+</div>
+</body>
+</html>

文件差異過大導致無法顯示
+ 10951 - 0
opencv/java/javadoc/constant-values.html


+ 239 - 0
opencv/java/javadoc/help-doc.html

@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Help (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="API Help (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">How This API Document Is Organized</h1>
+<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<h2>Overview</h2>
+<p>The <a href="overview-summary.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</p>
+</li>
+<li class="blockList">
+<h2>Package</h2>
+<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
+<ul>
+<li>Interfaces (italic)</li>
+<li>Classes</li>
+<li>Enums</li>
+<li>Exceptions</li>
+<li>Errors</li>
+<li>Annotation Types</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Class/Interface</h2>
+<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
+<ul>
+<li>Class inheritance diagram</li>
+<li>Direct Subclasses</li>
+<li>All Known Subinterfaces</li>
+<li>All Known Implementing Classes</li>
+<li>Class/interface declaration</li>
+<li>Class/interface description</li>
+</ul>
+<ul>
+<li>Nested Class Summary</li>
+<li>Field Summary</li>
+<li>Constructor Summary</li>
+<li>Method Summary</li>
+</ul>
+<ul>
+<li>Field Detail</li>
+<li>Constructor Detail</li>
+<li>Method Detail</li>
+</ul>
+<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
+</li>
+<li class="blockList">
+<h2>Annotation Type</h2>
+<p>Each annotation type has its own separate page with the following sections:</p>
+<ul>
+<li>Annotation Type declaration</li>
+<li>Annotation Type description</li>
+<li>Required Element Summary</li>
+<li>Optional Element Summary</li>
+<li>Element Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Enum</h2>
+<p>Each enum has its own separate page with the following sections:</p>
+<ul>
+<li>Enum declaration</li>
+<li>Enum description</li>
+<li>Enum Constant Summary</li>
+<li>Enum Constant Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Tree (Class Hierarchy)</h2>
+<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.</p>
+<ul>
+<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
+<li>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Index</h2>
+<p>The <a href="index-all.html">Index</a> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</p>
+</li>
+<li class="blockList">
+<h2>Prev/Next</h2>
+<p>These links take you to the next or previous class, interface, package, or related page.</p>
+</li>
+<li class="blockList">
+<h2>Frames/No Frames</h2>
+<p>These links show and hide the HTML frames.  All pages are available with or without frames.</p>
+</li>
+<li class="blockList">
+<h2>All Classes</h2>
+<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
+</li>
+<li class="blockList">
+<h2>Serialized Form</h2>
+<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
+</li>
+<li class="blockList">
+<h2>Constant Field Values</h2>
+<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
+</li>
+</ul>
+<span class="emphasizedPhrase">This help file applies to API documentation generated using the standard doclet.</span></div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

文件差異過大導致無法顯示
+ 14793 - 0
opencv/java/javadoc/index-all.html


+ 76 - 0
opencv/java/javadoc/index.html

@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OpenCV 4.10.0 Java documentation</title>
+<script type="text/javascript">
+    tmpTargetPage = "" + window.location.search;
+    if (tmpTargetPage != "" && tmpTargetPage != "undefined")
+        tmpTargetPage = tmpTargetPage.substring(1);
+    if (tmpTargetPage.indexOf(":") != -1 || (tmpTargetPage != "" && !validURL(tmpTargetPage)))
+        tmpTargetPage = "undefined";
+    targetPage = tmpTargetPage;
+    function validURL(url) {
+        try {
+            url = decodeURIComponent(url);
+        }
+        catch (error) {
+            return false;
+        }
+        var pos = url.indexOf(".html");
+        if (pos == -1 || pos != url.length - 5)
+            return false;
+        var allowNumber = false;
+        var allowSep = false;
+        var seenDot = false;
+        for (var i = 0; i < url.length - 5; i++) {
+            var ch = url.charAt(i);
+            if ('a' <= ch && ch <= 'z' ||
+                    'A' <= ch && ch <= 'Z' ||
+                    ch == '$' ||
+                    ch == '_' ||
+                    ch.charCodeAt(0) > 127) {
+                allowNumber = true;
+                allowSep = true;
+            } else if ('0' <= ch && ch <= '9'
+                    || ch == '-') {
+                if (!allowNumber)
+                     return false;
+            } else if (ch == '/' || ch == '.') {
+                if (!allowSep)
+                    return false;
+                allowNumber = false;
+                allowSep = false;
+                if (ch == '.')
+                     seenDot = true;
+                if (ch == '/' && seenDot)
+                     return false;
+            } else {
+                return false;
+            }
+        }
+        return true;
+    }
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</script>
+</head>
+<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
+<frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
+<frame src="overview-frame.html" name="packageListFrame" title="All Packages">
+<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</frameset>
+<frame src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<noframes>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<h2>Frame Alert</h2>
+<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p>
+</noframes>
+</frameset>
+</html>

+ 23 - 0
opencv/java/javadoc/mymath.js

@@ -0,0 +1,23 @@
+//<![CDATA[
+window.MathJax = {
+    loader: {load: ['[tex]/ams']},
+    tex: {
+        packages: {'[+]': ['ams']},
+        macros: {
+            matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
+            fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
+            forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
+            forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
+            vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
+            vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
+            cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
+            distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
+            distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
+            hdotsfor: ["\\dots", 1],
+            mathbbm: ["\\mathbb{#1}", 1],
+            bordermatrix: ["\\matrix{#1}", 1]
+        },
+        processEscapes: false
+    }
+};
+//]]>

文件差異過大導致無法顯示
+ 231 - 0
opencv/java/javadoc/org/opencv/android/Camera2Renderer.html


文件差異過大導致無法顯示
+ 385 - 0
opencv/java/javadoc/org/opencv/android/CameraActivity.html


+ 281 - 0
opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html

@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:25 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CameraBridgeViewBase.CvCameraViewFrame (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CameraBridgeViewBase.CvCameraViewFrame (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewFrame.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Interface CameraBridgeViewBase.CvCameraViewFrame" class="title">Interface CameraBridgeViewBase.CvCameraViewFrame</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" title="class in org.opencv.android">CameraBridgeViewBase.RotatedCameraFrame</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android">CameraBridgeViewBase</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">CameraBridgeViewBase.CvCameraViewFrame</span></pre>
+<div class="block">This class interface is abstract representation of single frame from camera for onCameraFrame callback
+ Attention: Do not use objects, that represents this interface out of onCameraFrame callback!</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#gray--">gray</a></span>()</code>
+<div class="block">This method returns single channel gray scale Mat with frame</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#release--">release</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#rgba--">rgba</a></span>()</code>
+<div class="block">This method returns RGBA Mat with frame</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="gray--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>gray</h4>
+<pre><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;gray()</pre>
+<div class="block">This method returns single channel gray scale Mat with frame</div>
+</li>
+</ul>
+<a name="release--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>release</h4>
+<pre>void&nbsp;release()</pre>
+</li>
+</ul>
+<a name="rgba--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>rgba</h4>
+<pre><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;rgba()</pre>
+<div class="block">This method returns RGBA Mat with frame</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewFrame.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 289 - 0
opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html

@@ -0,0 +1,289 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:25 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CameraBridgeViewBase.CvCameraViewListener (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CameraBridgeViewBase.CvCameraViewListener (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewListener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Interface CameraBridgeViewBase.CvCameraViewListener" class="title">Interface CameraBridgeViewBase.CvCameraViewListener</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android">CameraBridgeViewBase</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">CameraBridgeViewBase.CvCameraViewListener</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html#onCameraFrame-org.opencv.core.Mat-">onCameraFrame</a></span>(<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;inputFrame)</code>
+<div class="block">This method is invoked when delivery of the frame needs to be done.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html#onCameraViewStarted-int-int-">onCameraViewStarted</a></span>(int&nbsp;width,
+                   int&nbsp;height)</code>
+<div class="block">This method is invoked when camera preview has started.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html#onCameraViewStopped--">onCameraViewStopped</a></span>()</code>
+<div class="block">This method is invoked when camera preview has been stopped for some reason.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="onCameraFrame-org.opencv.core.Mat-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onCameraFrame</h4>
+<pre><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;onCameraFrame(<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;inputFrame)</pre>
+<div class="block">This method is invoked when delivery of the frame needs to be done.
+ The returned values - is a modified frame which needs to be displayed on the screen.
+ TODO: pass the parameters specifying the format of the frame (BPP, YUV or RGB and etc)</div>
+</li>
+</ul>
+<a name="onCameraViewStarted-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onCameraViewStarted</h4>
+<pre>void&nbsp;onCameraViewStarted(int&nbsp;width,
+                         int&nbsp;height)</pre>
+<div class="block">This method is invoked when camera preview has started. After this method is invoked
+ the frames will start to be delivered to client via the onCameraFrame() callback.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>width</code> - -  the width of the frames that will be delivered</dd>
+<dd><code>height</code> - - the height of the frames that will be delivered</dd>
+</dl>
+</li>
+</ul>
+<a name="onCameraViewStopped--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onCameraViewStopped</h4>
+<pre>void&nbsp;onCameraViewStopped()</pre>
+<div class="block">This method is invoked when camera preview has been stopped for some reason.
+ No frames will be delivered via onCameraFrame() callback after this method is called.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewListener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 289 - 0
opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html

@@ -0,0 +1,289 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:25 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CameraBridgeViewBase.CvCameraViewListener2 (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CameraBridgeViewBase.CvCameraViewListener2 (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewListener2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Interface CameraBridgeViewBase.CvCameraViewListener2" class="title">Interface CameraBridgeViewBase.CvCameraViewListener2</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android">CameraBridgeViewBase</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">CameraBridgeViewBase.CvCameraViewListener2</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html#onCameraFrame-org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame-">onCameraFrame</a></span>(<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a>&nbsp;inputFrame)</code>
+<div class="block">This method is invoked when delivery of the frame needs to be done.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html#onCameraViewStarted-int-int-">onCameraViewStarted</a></span>(int&nbsp;width,
+                   int&nbsp;height)</code>
+<div class="block">This method is invoked when camera preview has started.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html#onCameraViewStopped--">onCameraViewStopped</a></span>()</code>
+<div class="block">This method is invoked when camera preview has been stopped for some reason.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="onCameraFrame-org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onCameraFrame</h4>
+<pre><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;onCameraFrame(<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a>&nbsp;inputFrame)</pre>
+<div class="block">This method is invoked when delivery of the frame needs to be done.
+ The returned values - is a modified frame which needs to be displayed on the screen.
+ TODO: pass the parameters specifying the format of the frame (BPP, YUV or RGB and etc)</div>
+</li>
+</ul>
+<a name="onCameraViewStarted-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onCameraViewStarted</h4>
+<pre>void&nbsp;onCameraViewStarted(int&nbsp;width,
+                         int&nbsp;height)</pre>
+<div class="block">This method is invoked when camera preview has started. After this method is invoked
+ the frames will start to be delivered to client via the onCameraFrame() callback.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>width</code> - -  the width of the frames that will be delivered</dd>
+<dd><code>height</code> - - the height of the frames that will be delivered</dd>
+</dl>
+</li>
+</ul>
+<a name="onCameraViewStopped--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onCameraViewStopped</h4>
+<pre>void&nbsp;onCameraViewStopped()</pre>
+<div class="block">This method is invoked when camera preview has been stopped for some reason.
+ No frames will be delivered via onCameraFrame() callback after this method is called.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewListener2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 260 - 0
opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html

@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:25 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CameraBridgeViewBase.ListItemAccessor (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CameraBridgeViewBase.ListItemAccessor (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.ListItemAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Interface CameraBridgeViewBase.ListItemAccessor" class="title">Interface CameraBridgeViewBase.ListItemAccessor</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html" title="class in org.opencv.android">JavaCamera2View.JavaCameraSizeAccessor</a>, <a href="../../../org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html" title="class in org.opencv.android">JavaCameraView.JavaCameraSizeAccessor</a>, <a href="../../../org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html" title="class in org.opencv.android">NativeCameraView.OpenCvSizeAccessor</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android">CameraBridgeViewBase</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">CameraBridgeViewBase.ListItemAccessor</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getHeight-java.lang.Object-">getHeight</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getWidth-java.lang.Object-">getWidth</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getHeight-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeight</h4>
+<pre>int&nbsp;getHeight(java.lang.Object&nbsp;obj)</pre>
+</li>
+</ul>
+<a name="getWidth-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getWidth</h4>
+<pre>int&nbsp;getWidth(java.lang.Object&nbsp;obj)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.ListItemAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 382 - 0
opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html

@@ -0,0 +1,382 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:25 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CameraBridgeViewBase.RotatedCameraFrame (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CameraBridgeViewBase.RotatedCameraFrame (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraGLRendererBase.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.RotatedCameraFrame.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Class CameraBridgeViewBase.RotatedCameraFrame" class="title">Class CameraBridgeViewBase.RotatedCameraFrame</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.opencv.android.CameraBridgeViewBase.RotatedCameraFrame</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android">CameraBridgeViewBase</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CameraBridgeViewBase.RotatedCameraFrame</span>
+extends java.lang.Object
+implements <a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html#mFrame">mFrame</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html#RotatedCameraFrame-org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame-int-">RotatedCameraFrame</a></span>(<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a>&nbsp;frame,
+                  int&nbsp;rotation)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html#gray--">gray</a></span>()</code>
+<div class="block">This method returns single channel gray scale Mat with frame</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html#release--">release</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html#rgba--">rgba</a></span>()</code>
+<div class="block">This method returns RGBA Mat with frame</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="mFrame">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>mFrame</h4>
+<pre>public&nbsp;<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a> mFrame</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="RotatedCameraFrame-org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RotatedCameraFrame</h4>
+<pre>public&nbsp;RotatedCameraFrame(<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a>&nbsp;frame,
+                          int&nbsp;rotation)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="gray--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>gray</h4>
+<pre>public&nbsp;<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;gray()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#gray--">CameraBridgeViewBase.CvCameraViewFrame</a></code></span></div>
+<div class="block">This method returns single channel gray scale Mat with frame</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#gray--">gray</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="release--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>release</h4>
+<pre>public&nbsp;void&nbsp;release()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#release--">release</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="rgba--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>rgba</h4>
+<pre>public&nbsp;<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;rgba()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#rgba--">CameraBridgeViewBase.CvCameraViewFrame</a></code></span></div>
+<div class="block">This method returns RGBA Mat with frame</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html#rgba--">rgba</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraGLRendererBase.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" target="_top">Frames</a></li>
+<li><a href="CameraBridgeViewBase.RotatedCameraFrame.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

文件差異過大導致無法顯示
+ 720 - 0
opencv/java/javadoc/org/opencv/android/CameraBridgeViewBase.html


+ 439 - 0
opencv/java/javadoc/org/opencv/android/CameraGLRendererBase.html

@@ -0,0 +1,439 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:25 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CameraGLRendererBase (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CameraGLRendererBase (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraGLRendererBase.html" target="_top">Frames</a></li>
+<li><a href="CameraGLRendererBase.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Class CameraGLRendererBase" class="title">Class CameraGLRendererBase</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.opencv.android.CameraGLRendererBase</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>android.graphics.SurfaceTexture.OnFrameAvailableListener, android.opengl.GLSurfaceView.Renderer</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../org/opencv/android/Camera2Renderer.html" title="class in org.opencv.android">Camera2Renderer</a>, <a href="../../../org/opencv/android/CameraRenderer.html" title="class in org.opencv.android">CameraRenderer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">CameraGLRendererBase</span>
+extends java.lang.Object
+implements android.opengl.GLSurfaceView.Renderer, android.graphics.SurfaceTexture.OnFrameAvailableListener</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#CameraGLRendererBase-org.opencv.android.CameraGLSurfaceView-">CameraGLRendererBase</a></span>(<a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android">CameraGLSurfaceView</a>&nbsp;view)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#disableView--">disableView</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#enableView--">enableView</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#onDrawFrame-javax.microedition.khronos.opengles.GL10-">onDrawFrame</a></span>(javax.microedition.khronos.opengles.GL10&nbsp;gl)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#onFrameAvailable-android.graphics.SurfaceTexture-">onFrameAvailable</a></span>(android.graphics.SurfaceTexture&nbsp;surfaceTexture)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#onPause--">onPause</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#onResume--">onResume</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#onSurfaceChanged-javax.microedition.khronos.opengles.GL10-int-int-">onSurfaceChanged</a></span>(javax.microedition.khronos.opengles.GL10&nbsp;gl,
+                int&nbsp;surfaceWidth,
+                int&nbsp;surfaceHeight)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#onSurfaceCreated-javax.microedition.khronos.opengles.GL10-javax.microedition.khronos.egl.EGLConfig-">onSurfaceCreated</a></span>(javax.microedition.khronos.opengles.GL10&nbsp;gl,
+                javax.microedition.khronos.egl.EGLConfig&nbsp;config)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#setCameraIndex-int-">setCameraIndex</a></span>(int&nbsp;cameraIndex)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLRendererBase.html#setMaxCameraPreviewSize-int-int-">setMaxCameraPreviewSize</a></span>(int&nbsp;maxWidth,
+                       int&nbsp;maxHeight)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CameraGLRendererBase-org.opencv.android.CameraGLSurfaceView-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CameraGLRendererBase</h4>
+<pre>public&nbsp;CameraGLRendererBase(<a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android">CameraGLSurfaceView</a>&nbsp;view)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="disableView--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>disableView</h4>
+<pre>public&nbsp;void&nbsp;disableView()</pre>
+</li>
+</ul>
+<a name="enableView--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableView</h4>
+<pre>public&nbsp;void&nbsp;enableView()</pre>
+</li>
+</ul>
+<a name="onDrawFrame-javax.microedition.khronos.opengles.GL10-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onDrawFrame</h4>
+<pre>public&nbsp;void&nbsp;onDrawFrame(javax.microedition.khronos.opengles.GL10&nbsp;gl)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>onDrawFrame</code>&nbsp;in interface&nbsp;<code>android.opengl.GLSurfaceView.Renderer</code></dd>
+</dl>
+</li>
+</ul>
+<a name="onFrameAvailable-android.graphics.SurfaceTexture-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onFrameAvailable</h4>
+<pre>public&nbsp;void&nbsp;onFrameAvailable(android.graphics.SurfaceTexture&nbsp;surfaceTexture)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>onFrameAvailable</code>&nbsp;in interface&nbsp;<code>android.graphics.SurfaceTexture.OnFrameAvailableListener</code></dd>
+</dl>
+</li>
+</ul>
+<a name="onPause--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onPause</h4>
+<pre>public&nbsp;void&nbsp;onPause()</pre>
+</li>
+</ul>
+<a name="onResume--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onResume</h4>
+<pre>public&nbsp;void&nbsp;onResume()</pre>
+</li>
+</ul>
+<a name="onSurfaceChanged-javax.microedition.khronos.opengles.GL10-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onSurfaceChanged</h4>
+<pre>public&nbsp;void&nbsp;onSurfaceChanged(javax.microedition.khronos.opengles.GL10&nbsp;gl,
+                             int&nbsp;surfaceWidth,
+                             int&nbsp;surfaceHeight)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>onSurfaceChanged</code>&nbsp;in interface&nbsp;<code>android.opengl.GLSurfaceView.Renderer</code></dd>
+</dl>
+</li>
+</ul>
+<a name="onSurfaceCreated-javax.microedition.khronos.opengles.GL10-javax.microedition.khronos.egl.EGLConfig-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onSurfaceCreated</h4>
+<pre>public&nbsp;void&nbsp;onSurfaceCreated(javax.microedition.khronos.opengles.GL10&nbsp;gl,
+                             javax.microedition.khronos.egl.EGLConfig&nbsp;config)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>onSurfaceCreated</code>&nbsp;in interface&nbsp;<code>android.opengl.GLSurfaceView.Renderer</code></dd>
+</dl>
+</li>
+</ul>
+<a name="setCameraIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCameraIndex</h4>
+<pre>public&nbsp;void&nbsp;setCameraIndex(int&nbsp;cameraIndex)</pre>
+</li>
+</ul>
+<a name="setMaxCameraPreviewSize-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setMaxCameraPreviewSize</h4>
+<pre>public&nbsp;void&nbsp;setMaxCameraPreviewSize(int&nbsp;maxWidth,
+                                    int&nbsp;maxHeight)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraGLRendererBase.html" target="_top">Frames</a></li>
+<li><a href="CameraGLRendererBase.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 302 - 0
opencv/java/javadoc/org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html

@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:25 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CameraGLSurfaceView.CameraTextureListener (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CameraGLSurfaceView.CameraTextureListener (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraRenderer.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html" target="_top">Frames</a></li>
+<li><a href="CameraGLSurfaceView.CameraTextureListener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Interface CameraGLSurfaceView.CameraTextureListener" class="title">Interface CameraGLSurfaceView.CameraTextureListener</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android">CameraGLSurfaceView</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">CameraGLSurfaceView.CameraTextureListener</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html#onCameraTexture-int-int-int-int-">onCameraTexture</a></span>(int&nbsp;texIn,
+               int&nbsp;texOut,
+               int&nbsp;width,
+               int&nbsp;height)</code>
+<div class="block">This method is invoked when a new preview frame from Camera is ready.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html#onCameraViewStarted-int-int-">onCameraViewStarted</a></span>(int&nbsp;width,
+                   int&nbsp;height)</code>
+<div class="block">This method is invoked when camera preview has started.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html#onCameraViewStopped--">onCameraViewStopped</a></span>()</code>
+<div class="block">This method is invoked when camera preview has been stopped for some reason.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="onCameraTexture-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onCameraTexture</h4>
+<pre>boolean&nbsp;onCameraTexture(int&nbsp;texIn,
+                        int&nbsp;texOut,
+                        int&nbsp;width,
+                        int&nbsp;height)</pre>
+<div class="block">This method is invoked when a new preview frame from Camera is ready.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>texIn</code> - -  the OpenGL texture ID that contains frame in RGBA format</dd>
+<dd><code>texOut</code> - - the OpenGL texture ID that can be used to store modified frame image t display</dd>
+<dd><code>width</code> - -  the width of the frame</dd>
+<dd><code>height</code> - - the height of the frame</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>`true` if `texOut` should be displayed, `false` - to show `texIn`</dd>
+</dl>
+</li>
+</ul>
+<a name="onCameraViewStarted-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onCameraViewStarted</h4>
+<pre>void&nbsp;onCameraViewStarted(int&nbsp;width,
+                         int&nbsp;height)</pre>
+<div class="block">This method is invoked when camera preview has started. After this method is invoked
+ the frames will start to be delivered to client via the onCameraFrame() callback.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>width</code> - -  the width of the frames that will be delivered</dd>
+<dd><code>height</code> - - the height of the frames that will be delivered</dd>
+</dl>
+</li>
+</ul>
+<a name="onCameraViewStopped--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onCameraViewStopped</h4>
+<pre>void&nbsp;onCameraViewStopped()</pre>
+<div class="block">This method is invoked when camera preview has been stopped for some reason.
+ No frames will be delivered via onCameraFrame() callback after this method is called.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/CameraRenderer.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html" target="_top">Frames</a></li>
+<li><a href="CameraGLSurfaceView.CameraTextureListener.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

文件差異過大導致無法顯示
+ 550 - 0
opencv/java/javadoc/org/opencv/android/CameraGLSurfaceView.html


文件差異過大導致無法顯示
+ 313 - 0
opencv/java/javadoc/org/opencv/android/CameraRenderer.html


+ 334 - 0
opencv/java/javadoc/org/opencv/android/FpsMeter.html

@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:26 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FpsMeter (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FpsMeter (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraRenderer.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/FpsMeter.html" target="_top">Frames</a></li>
+<li><a href="FpsMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Class FpsMeter" class="title">Class FpsMeter</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.opencv.android.FpsMeter</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FpsMeter</span>
+extends java.lang.Object</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/android/FpsMeter.html#FpsMeter--">FpsMeter</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/FpsMeter.html#draw-android.graphics.Canvas-float-float-">draw</a></span>(android.graphics.Canvas&nbsp;canvas,
+    float&nbsp;offsetx,
+    float&nbsp;offsety)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/FpsMeter.html#init--">init</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/FpsMeter.html#measure--">measure</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/FpsMeter.html#setResolution-int-int-">setResolution</a></span>(int&nbsp;width,
+             int&nbsp;height)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FpsMeter--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FpsMeter</h4>
+<pre>public&nbsp;FpsMeter()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="draw-android.graphics.Canvas-float-float-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>draw</h4>
+<pre>public&nbsp;void&nbsp;draw(android.graphics.Canvas&nbsp;canvas,
+                 float&nbsp;offsetx,
+                 float&nbsp;offsety)</pre>
+</li>
+</ul>
+<a name="init--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>init</h4>
+<pre>public&nbsp;void&nbsp;init()</pre>
+</li>
+</ul>
+<a name="measure--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>measure</h4>
+<pre>public&nbsp;void&nbsp;measure()</pre>
+</li>
+</ul>
+<a name="setResolution-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setResolution</h4>
+<pre>public&nbsp;void&nbsp;setResolution(int&nbsp;width,
+                          int&nbsp;height)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/CameraRenderer.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/FpsMeter.html" target="_top">Frames</a></li>
+<li><a href="FpsMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 319 - 0
opencv/java/javadoc/org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html

@@ -0,0 +1,319 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:26 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JavaCamera2View.JavaCameraSizeAccessor (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JavaCamera2View.JavaCameraSizeAccessor (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/JavaCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html" target="_top">Frames</a></li>
+<li><a href="JavaCamera2View.JavaCameraSizeAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Class JavaCamera2View.JavaCameraSizeAccessor" class="title">Class JavaCamera2View.JavaCameraSizeAccessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.opencv.android.JavaCamera2View.JavaCameraSizeAccessor</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android">JavaCamera2View</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">JavaCamera2View.JavaCameraSizeAccessor</span>
+extends java.lang.Object
+implements <a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html#JavaCameraSizeAccessor--">JavaCameraSizeAccessor</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html#getHeight-java.lang.Object-">getHeight</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html#getWidth-java.lang.Object-">getWidth</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JavaCameraSizeAccessor--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JavaCameraSizeAccessor</h4>
+<pre>public&nbsp;JavaCameraSizeAccessor()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getHeight-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeight</h4>
+<pre>public&nbsp;int&nbsp;getHeight(java.lang.Object&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getHeight-java.lang.Object-">getHeight</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getWidth-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getWidth</h4>
+<pre>public&nbsp;int&nbsp;getWidth(java.lang.Object&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getWidth-java.lang.Object-">getWidth</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/JavaCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html" target="_top">Frames</a></li>
+<li><a href="JavaCamera2View.JavaCameraSizeAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

文件差異過大導致無法顯示
+ 373 - 0
opencv/java/javadoc/org/opencv/android/JavaCamera2View.html


+ 319 - 0
opencv/java/javadoc/org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html

@@ -0,0 +1,319 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:26 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JavaCameraView.JavaCameraSizeAccessor (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JavaCameraView.JavaCameraSizeAccessor (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/JavaCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/NativeCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html" target="_top">Frames</a></li>
+<li><a href="JavaCameraView.JavaCameraSizeAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Class JavaCameraView.JavaCameraSizeAccessor" class="title">Class JavaCameraView.JavaCameraSizeAccessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.opencv.android.JavaCameraView.JavaCameraSizeAccessor</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/JavaCameraView.html" title="class in org.opencv.android">JavaCameraView</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">JavaCameraView.JavaCameraSizeAccessor</span>
+extends java.lang.Object
+implements <a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html#JavaCameraSizeAccessor--">JavaCameraSizeAccessor</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html#getHeight-java.lang.Object-">getHeight</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html#getWidth-java.lang.Object-">getWidth</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JavaCameraSizeAccessor--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JavaCameraSizeAccessor</h4>
+<pre>public&nbsp;JavaCameraSizeAccessor()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getHeight-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeight</h4>
+<pre>public&nbsp;int&nbsp;getHeight(java.lang.Object&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getHeight-java.lang.Object-">getHeight</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getWidth-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getWidth</h4>
+<pre>public&nbsp;int&nbsp;getWidth(java.lang.Object&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getWidth-java.lang.Object-">getWidth</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/JavaCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/NativeCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html" target="_top">Frames</a></li>
+<li><a href="JavaCameraView.JavaCameraSizeAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

文件差異過大導致無法顯示
+ 414 - 0
opencv/java/javadoc/org/opencv/android/JavaCameraView.html


+ 319 - 0
opencv/java/javadoc/org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html

@@ -0,0 +1,319 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:26 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>NativeCameraView.OpenCvSizeAccessor (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="NativeCameraView.OpenCvSizeAccessor (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/NativeCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html" target="_top">Frames</a></li>
+<li><a href="NativeCameraView.OpenCvSizeAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Class NativeCameraView.OpenCvSizeAccessor" class="title">Class NativeCameraView.OpenCvSizeAccessor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.opencv.android.NativeCameraView.OpenCvSizeAccessor</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../org/opencv/android/NativeCameraView.html" title="class in org.opencv.android">NativeCameraView</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">NativeCameraView.OpenCvSizeAccessor</span>
+extends java.lang.Object
+implements <a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html#OpenCvSizeAccessor--">OpenCvSizeAccessor</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html#getHeight-java.lang.Object-">getHeight</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html#getWidth-java.lang.Object-">getWidth</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="OpenCvSizeAccessor--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>OpenCvSizeAccessor</h4>
+<pre>public&nbsp;OpenCvSizeAccessor()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getHeight-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeight</h4>
+<pre>public&nbsp;int&nbsp;getHeight(java.lang.Object&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getHeight-java.lang.Object-">getHeight</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getWidth-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getWidth</h4>
+<pre>public&nbsp;int&nbsp;getWidth(java.lang.Object&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html#getWidth-java.lang.Object-">getWidth</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/NativeCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html" target="_top">Frames</a></li>
+<li><a href="NativeCameraView.OpenCvSizeAccessor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

文件差異過大導致無法顯示
+ 400 - 0
opencv/java/javadoc/org/opencv/android/NativeCameraView.html


文件差異過大導致無法顯示
+ 382 - 0
opencv/java/javadoc/org/opencv/android/OpenCVLoader.html


+ 459 - 0
opencv/java/javadoc/org/opencv/android/Utils.html

@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:26 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Utils (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Utils (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/Utils.html" target="_top">Frames</a></li>
+<li><a href="Utils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.opencv.android</div>
+<h2 title="Class Utils" class="title">Class Utils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.opencv.android.Utils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Utils</span>
+extends java.lang.Object</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#Utils--">Utils</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#bitmapToMat-android.graphics.Bitmap-org.opencv.core.Mat-">bitmapToMat</a></span>(android.graphics.Bitmap&nbsp;bmp,
+           <a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat)</code>
+<div class="block">Short form of the bitmapToMat(bmp, mat, unPremultiplyAlpha=false).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#bitmapToMat-android.graphics.Bitmap-org.opencv.core.Mat-boolean-">bitmapToMat</a></span>(android.graphics.Bitmap&nbsp;bmp,
+           <a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat,
+           boolean&nbsp;unPremultiplyAlpha)</code>
+<div class="block">Converts Android Bitmap to OpenCV Mat.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#exportResource-android.content.Context-int-">exportResource</a></span>(android.content.Context&nbsp;context,
+              int&nbsp;resourceId)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#exportResource-android.content.Context-int-java.lang.String-">exportResource</a></span>(android.content.Context&nbsp;context,
+              int&nbsp;resourceId,
+              java.lang.String&nbsp;dirname)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#loadResource-android.content.Context-int-">loadResource</a></span>(android.content.Context&nbsp;context,
+            int&nbsp;resourceId)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#loadResource-android.content.Context-int-int-">loadResource</a></span>(android.content.Context&nbsp;context,
+            int&nbsp;resourceId,
+            int&nbsp;flags)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#matToBitmap-org.opencv.core.Mat-android.graphics.Bitmap-">matToBitmap</a></span>(<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat,
+           android.graphics.Bitmap&nbsp;bmp)</code>
+<div class="block">Short form of the <b>matToBitmap(mat, bmp, premultiplyAlpha=false)</b></div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/android/Utils.html#matToBitmap-org.opencv.core.Mat-android.graphics.Bitmap-boolean-">matToBitmap</a></span>(<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat,
+           android.graphics.Bitmap&nbsp;bmp,
+           boolean&nbsp;premultiplyAlpha)</code>
+<div class="block">Converts OpenCV Mat to Android Bitmap.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Utils--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Utils</h4>
+<pre>public&nbsp;Utils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="bitmapToMat-android.graphics.Bitmap-org.opencv.core.Mat-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bitmapToMat</h4>
+<pre>public static&nbsp;void&nbsp;bitmapToMat(android.graphics.Bitmap&nbsp;bmp,
+                               <a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat)</pre>
+<div class="block">Short form of the bitmapToMat(bmp, mat, unPremultiplyAlpha=false).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>bmp</code> - is a valid input Bitmap object of the type 'ARGB_8888' or 'RGB_565'.</dd>
+<dd><code>mat</code> - is a valid output Mat object, it will be reallocated if needed, so Mat may be empty.</dd>
+</dl>
+</li>
+</ul>
+<a name="bitmapToMat-android.graphics.Bitmap-org.opencv.core.Mat-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bitmapToMat</h4>
+<pre>public static&nbsp;void&nbsp;bitmapToMat(android.graphics.Bitmap&nbsp;bmp,
+                               <a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat,
+                               boolean&nbsp;unPremultiplyAlpha)</pre>
+<div class="block">Converts Android Bitmap to OpenCV Mat.
+ <p>
+ This function converts an Android Bitmap image to the OpenCV Mat.
+ <br>'ARGB_8888' and 'RGB_565' input Bitmap formats are supported.
+ <br>The output Mat is always created of the same size as the input Bitmap and of the 'CV_8UC4' type,
+ it keeps the image in RGBA format.
+ <br>This function throws an exception if the conversion fails.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>bmp</code> - is a valid input Bitmap object of the type 'ARGB_8888' or 'RGB_565'.</dd>
+<dd><code>mat</code> - is a valid output Mat object, it will be reallocated if needed, so it may be empty.</dd>
+<dd><code>unPremultiplyAlpha</code> - is a flag, that determines, whether the bitmap needs to be converted from alpha premultiplied format (like Android keeps 'ARGB_8888' ones) to regular one; this flag is ignored for 'RGB_565' bitmaps.</dd>
+</dl>
+</li>
+</ul>
+<a name="exportResource-android.content.Context-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exportResource</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;exportResource(android.content.Context&nbsp;context,
+                                              int&nbsp;resourceId)</pre>
+</li>
+</ul>
+<a name="exportResource-android.content.Context-int-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exportResource</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;exportResource(android.content.Context&nbsp;context,
+                                              int&nbsp;resourceId,
+                                              java.lang.String&nbsp;dirname)</pre>
+</li>
+</ul>
+<a name="loadResource-android.content.Context-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>loadResource</h4>
+<pre>public static&nbsp;<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;loadResource(android.content.Context&nbsp;context,
+                               int&nbsp;resourceId)
+                        throws java.io.IOException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.io.IOException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="loadResource-android.content.Context-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>loadResource</h4>
+<pre>public static&nbsp;<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;loadResource(android.content.Context&nbsp;context,
+                               int&nbsp;resourceId,
+                               int&nbsp;flags)
+                        throws java.io.IOException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.io.IOException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="matToBitmap-org.opencv.core.Mat-android.graphics.Bitmap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>matToBitmap</h4>
+<pre>public static&nbsp;void&nbsp;matToBitmap(<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat,
+                               android.graphics.Bitmap&nbsp;bmp)</pre>
+<div class="block">Short form of the <b>matToBitmap(mat, bmp, premultiplyAlpha=false)</b></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mat</code> - is a valid input Mat object of the types 'CV_8UC1', 'CV_8UC3' or 'CV_8UC4'.</dd>
+<dd><code>bmp</code> - is a valid Bitmap object of the same size as the Mat and of type 'ARGB_8888' or 'RGB_565'.</dd>
+</dl>
+</li>
+</ul>
+<a name="matToBitmap-org.opencv.core.Mat-android.graphics.Bitmap-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>matToBitmap</h4>
+<pre>public static&nbsp;void&nbsp;matToBitmap(<a href="../../../org/opencv/core/Mat.html" title="class in org.opencv.core">Mat</a>&nbsp;mat,
+                               android.graphics.Bitmap&nbsp;bmp,
+                               boolean&nbsp;premultiplyAlpha)</pre>
+<div class="block">Converts OpenCV Mat to Android Bitmap.
+ <p>
+ <br>This function converts an image in the OpenCV Mat representation to the Android Bitmap.
+ <br>The input Mat object has to be of the types 'CV_8UC1' (gray-scale), 'CV_8UC3' (RGB) or 'CV_8UC4' (RGBA).
+ <br>The output Bitmap object has to be of the same size as the input Mat and of the types 'ARGB_8888' or 'RGB_565'.
+ <br>This function throws an exception if the conversion fails.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mat</code> - is a valid input Mat object of types 'CV_8UC1', 'CV_8UC3' or 'CV_8UC4'.</dd>
+<dd><code>bmp</code> - is a valid Bitmap object of the same size as the Mat and of type 'ARGB_8888' or 'RGB_565'.</dd>
+<dd><code>premultiplyAlpha</code> - is a flag, that determines, whether the Mat needs to be converted to alpha premultiplied format (like Android keeps 'ARGB_8888' bitmaps); the flag is ignored for 'RGB_565' bitmaps.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/Utils.html" target="_top">Frames</a></li>
+<li><a href="Utils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 43 - 0
opencv/java/javadoc/org/opencv/android/package-frame.html

@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.opencv.android (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../org/opencv/android/package-summary.html" target="classFrame">org.opencv.android</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewFrame</span></a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewListener</span></a></li>
+<li><a href="CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.CvCameraViewListener2</span></a></li>
+<li><a href="CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraBridgeViewBase.ListItemAccessor</span></a></li>
+<li><a href="CameraGLSurfaceView.CameraTextureListener.html" title="interface in org.opencv.android" target="classFrame"><span class="interfaceName">CameraGLSurfaceView.CameraTextureListener</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Camera2Renderer.html" title="class in org.opencv.android" target="classFrame">Camera2Renderer</a></li>
+<li><a href="CameraActivity.html" title="class in org.opencv.android" target="classFrame">CameraActivity</a></li>
+<li><a href="CameraBridgeViewBase.html" title="class in org.opencv.android" target="classFrame">CameraBridgeViewBase</a></li>
+<li><a href="CameraGLRendererBase.html" title="class in org.opencv.android" target="classFrame">CameraGLRendererBase</a></li>
+<li><a href="CameraGLSurfaceView.html" title="class in org.opencv.android" target="classFrame">CameraGLSurfaceView</a></li>
+<li><a href="CameraRenderer.html" title="class in org.opencv.android" target="classFrame">CameraRenderer</a></li>
+<li><a href="FpsMeter.html" title="class in org.opencv.android" target="classFrame">FpsMeter</a></li>
+<li><a href="JavaCamera2View.html" title="class in org.opencv.android" target="classFrame">JavaCamera2View</a></li>
+<li><a href="JavaCamera2View.JavaCameraSizeAccessor.html" title="class in org.opencv.android" target="classFrame">JavaCamera2View.JavaCameraSizeAccessor</a></li>
+<li><a href="JavaCameraView.html" title="class in org.opencv.android" target="classFrame">JavaCameraView</a></li>
+<li><a href="JavaCameraView.JavaCameraSizeAccessor.html" title="class in org.opencv.android" target="classFrame">JavaCameraView.JavaCameraSizeAccessor</a></li>
+<li><a href="NativeCameraView.html" title="class in org.opencv.android" target="classFrame">NativeCameraView</a></li>
+<li><a href="NativeCameraView.OpenCvSizeAccessor.html" title="class in org.opencv.android" target="classFrame">NativeCameraView.OpenCvSizeAccessor</a></li>
+<li><a href="OpenCVLoader.html" title="class in org.opencv.android" target="classFrame">OpenCVLoader</a></li>
+<li><a href="Utils.html" title="class in org.opencv.android" target="classFrame">Utils</a></li>
+</ul>
+</div>
+</body>
+</html>

+ 260 - 0
opencv/java/javadoc/org/opencv/android/package-summary.html

@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.opencv.android (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.opencv.android (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Package</li>
+<li><a href="../../../org/opencv/calib3d/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.opencv.android</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a></td>
+<td class="colLast">
+<div class="block">This class interface is abstract representation of single frame from camera for onCameraFrame callback
+ Attention: Do not use objects, that represents this interface out of onCameraFrame callback!</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewListener</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewListener2</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html" title="interface in org.opencv.android">CameraGLSurfaceView.CameraTextureListener</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/Camera2Renderer.html" title="class in org.opencv.android">Camera2Renderer</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraActivity.html" title="class in org.opencv.android">CameraActivity</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android">CameraBridgeViewBase</a></td>
+<td class="colLast">
+<div class="block">This is a basic class, implementing the interaction with Camera and OpenCV library.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraGLRendererBase.html" title="class in org.opencv.android">CameraGLRendererBase</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android">CameraGLSurfaceView</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/CameraRenderer.html" title="class in org.opencv.android">CameraRenderer</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/FpsMeter.html" title="class in org.opencv.android">FpsMeter</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android">JavaCamera2View</a></td>
+<td class="colLast">
+<div class="block">This class is an implementation of the Bridge View between OpenCV and Java Camera.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html" title="class in org.opencv.android">JavaCamera2View.JavaCameraSizeAccessor</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/JavaCameraView.html" title="class in org.opencv.android">JavaCameraView</a></td>
+<td class="colLast">
+<div class="block">This class is an implementation of the Bridge View between OpenCV and Java Camera.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html" title="class in org.opencv.android">JavaCameraView.JavaCameraSizeAccessor</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/NativeCameraView.html" title="class in org.opencv.android">NativeCameraView</a></td>
+<td class="colLast">
+<div class="block">This class is an implementation of a bridge between SurfaceView and OpenCV VideoCapture.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html" title="class in org.opencv.android">NativeCameraView.OpenCvSizeAccessor</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android">OpenCVLoader</a></td>
+<td class="colLast">
+<div class="block">Helper class provides common initialization methods for OpenCV library.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../org/opencv/android/Utils.html" title="class in org.opencv.android">Utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Package</li>
+<li><a href="../../../org/opencv/calib3d/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

+ 212 - 0
opencv/java/javadoc/org/opencv/android/package-tree.html

@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.opencv.android Class Hierarchy (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.opencv.android Class Hierarchy (OpenCV 4.10.0 Java documentation)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../org/opencv/calib3d/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.opencv.android</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.Object
+<ul>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.RotatedCameraFrame.html" title="class in org.opencv.android"><span class="typeNameLink">CameraBridgeViewBase.RotatedCameraFrame</span></a> (implements org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android">CameraBridgeViewBase.CvCameraViewFrame</a>)</li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraGLRendererBase.html" title="class in org.opencv.android"><span class="typeNameLink">CameraGLRendererBase</span></a> (implements android.opengl.GLSurfaceView.Renderer, android.graphics.SurfaceTexture.OnFrameAvailableListener)
+<ul>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/Camera2Renderer.html" title="class in org.opencv.android"><span class="typeNameLink">Camera2Renderer</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraRenderer.html" title="class in org.opencv.android"><span class="typeNameLink">CameraRenderer</span></a></li>
+</ul>
+</li>
+<li type="circle">android.content.Context
+<ul>
+<li type="circle">android.content.ContextWrapper
+<ul>
+<li type="circle">android.view.ContextThemeWrapper
+<ul>
+<li type="circle">android.app.Activity (implements android.content.ComponentCallbacks2, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory2, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback)
+<ul>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraActivity.html" title="class in org.opencv.android"><span class="typeNameLink">CameraActivity</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/FpsMeter.html" title="class in org.opencv.android"><span class="typeNameLink">FpsMeter</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/JavaCamera2View.JavaCameraSizeAccessor.html" title="class in org.opencv.android"><span class="typeNameLink">JavaCamera2View.JavaCameraSizeAccessor</span></a> (implements org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a>)</li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/JavaCameraView.JavaCameraSizeAccessor.html" title="class in org.opencv.android"><span class="typeNameLink">JavaCameraView.JavaCameraSizeAccessor</span></a> (implements org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a>)</li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/NativeCameraView.OpenCvSizeAccessor.html" title="class in org.opencv.android"><span class="typeNameLink">NativeCameraView.OpenCvSizeAccessor</span></a> (implements org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android">CameraBridgeViewBase.ListItemAccessor</a>)</li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/OpenCVLoader.html" title="class in org.opencv.android"><span class="typeNameLink">OpenCVLoader</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/Utils.html" title="class in org.opencv.android"><span class="typeNameLink">Utils</span></a></li>
+<li type="circle">android.view.View (implements android.view.accessibility.AccessibilityEventSource, android.graphics.drawable.Drawable.Callback, android.view.KeyEvent.Callback)
+<ul>
+<li type="circle">android.view.SurfaceView
+<ul>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.html" title="class in org.opencv.android"><span class="typeNameLink">CameraBridgeViewBase</span></a> (implements android.view.SurfaceHolder.Callback)
+<ul>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/JavaCamera2View.html" title="class in org.opencv.android"><span class="typeNameLink">JavaCamera2View</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/JavaCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">JavaCameraView</span></a> (implements android.hardware.Camera.PreviewCallback)</li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/NativeCameraView.html" title="class in org.opencv.android"><span class="typeNameLink">NativeCameraView</span></a></li>
+</ul>
+</li>
+<li type="circle">android.opengl.GLSurfaceView (implements android.view.SurfaceHolder.Callback2)
+<ul>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraGLSurfaceView.html" title="class in org.opencv.android"><span class="typeNameLink">CameraGLSurfaceView</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewFrame.html" title="interface in org.opencv.android"><span class="typeNameLink">CameraBridgeViewBase.CvCameraViewFrame</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener.html" title="interface in org.opencv.android"><span class="typeNameLink">CameraBridgeViewBase.CvCameraViewListener</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.CvCameraViewListener2.html" title="interface in org.opencv.android"><span class="typeNameLink">CameraBridgeViewBase.CvCameraViewListener2</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraBridgeViewBase.ListItemAccessor.html" title="interface in org.opencv.android"><span class="typeNameLink">CameraBridgeViewBase.ListItemAccessor</span></a></li>
+<li type="circle">org.opencv.android.<a href="../../../org/opencv/android/CameraGLSurfaceView.CameraTextureListener.html" title="interface in org.opencv.android"><span class="typeNameLink">CameraGLSurfaceView.CameraTextureListener</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage">
+            <script>
+              var url = window.location.href;
+              var pos = url.lastIndexOf('/javadoc/');
+              url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
+              var script = document.createElement('script');
+              script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
+              document.getElementsByTagName('head')[0].appendChild(script);
+            </script>
+</div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../org/opencv/calib3d/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?org/opencv/android/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Generated on 2024-06-02 16:58:23 / OpenCV 4.10.0</small></p>
+</body>
+</html>

文件差異過大導致無法顯示
+ 18858 - 0
opencv/java/javadoc/org/opencv/calib3d/Calib3d.html


文件差異過大導致無法顯示
+ 647 - 0
opencv/java/javadoc/org/opencv/calib3d/StereoBM.html


文件差異過大導致無法顯示
+ 513 - 0
opencv/java/javadoc/org/opencv/calib3d/StereoMatcher.html


文件差異過大導致無法顯示
+ 1244 - 0
opencv/java/javadoc/org/opencv/calib3d/StereoSGBM.html


文件差異過大導致無法顯示
+ 640 - 0
opencv/java/javadoc/org/opencv/calib3d/UsacParams.html


+ 25 - 0
opencv/java/javadoc/org/opencv/calib3d/package-frame.html

@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_392) on Sun Jun 02 16:58:28 UTC 2024 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.opencv.calib3d (OpenCV 4.10.0 Java documentation)</title>
+<meta name="date" content="2024-06-02">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../org/opencv/calib3d/package-summary.html" target="classFrame">org.opencv.calib3d</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Calib3d.html" title="class in org.opencv.calib3d" target="classFrame">Calib3d</a></li>
+<li><a href="StereoBM.html" title="class in org.opencv.calib3d" target="classFrame">StereoBM</a></li>
+<li><a href="StereoMatcher.html" title="class in org.opencv.calib3d" target="classFrame">StereoMatcher</a></li>
+<li><a href="StereoSGBM.html" title="class in org.opencv.calib3d" target="classFrame">StereoSGBM</a></li>
+<li><a href="UsacParams.html" title="class in org.opencv.calib3d" target="classFrame">UsacParams</a></li>
+</ul>
+</div>
+</body>
+</html>

+ 0 - 0
opencv/java/javadoc/org/opencv/calib3d/package-summary.html


部分文件因文件數量過多而無法顯示