diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.gitignore b/.gitignore index 8a54dca5e2..1bce33dd50 100644 --- a/.gitignore +++ b/.gitignore @@ -427,3 +427,4 @@ FodyWeavers.xsd *.sln.iml screen.png +adb_screen.png \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/3rdPart/bin/OcrLiteOnnx.dll b/3rdparty/bin/OcrLiteOnnx.dll similarity index 100% rename from 3rdPart/bin/OcrLiteOnnx.dll rename to 3rdparty/bin/OcrLiteOnnx.dll diff --git a/3rdPart/bin/opencv_world3413.dll b/3rdparty/bin/opencv_world3413.dll similarity index 100% rename from 3rdPart/bin/opencv_world3413.dll rename to 3rdparty/bin/opencv_world3413.dll diff --git a/3rdPart/include/OcrLiteOnnx/AngleNet.h b/3rdparty/include/OcrLiteOnnx/AngleNet.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/AngleNet.h rename to 3rdparty/include/OcrLiteOnnx/AngleNet.h diff --git a/3rdPart/include/OcrLiteOnnx/CrnnNet.h b/3rdparty/include/OcrLiteOnnx/CrnnNet.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/CrnnNet.h rename to 3rdparty/include/OcrLiteOnnx/CrnnNet.h diff --git a/3rdPart/include/OcrLiteOnnx/DbNet.h b/3rdparty/include/OcrLiteOnnx/DbNet.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/DbNet.h rename to 3rdparty/include/OcrLiteOnnx/DbNet.h diff --git a/3rdPart/include/OcrLiteOnnx/OcrLite.h b/3rdparty/include/OcrLiteOnnx/OcrLite.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/OcrLite.h rename to 3rdparty/include/OcrLiteOnnx/OcrLite.h diff --git a/3rdPart/include/OcrLiteOnnx/OcrLiteCaller.h b/3rdparty/include/OcrLiteOnnx/OcrLiteCaller.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/OcrLiteCaller.h rename to 3rdparty/include/OcrLiteOnnx/OcrLiteCaller.h diff --git a/3rdPart/include/OcrLiteOnnx/OcrLitePort.h b/3rdparty/include/OcrLiteOnnx/OcrLitePort.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/OcrLitePort.h rename to 3rdparty/include/OcrLiteOnnx/OcrLitePort.h diff --git a/3rdPart/include/OcrLiteOnnx/OcrResultUtils.h b/3rdparty/include/OcrLiteOnnx/OcrResultUtils.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/OcrResultUtils.h rename to 3rdparty/include/OcrLiteOnnx/OcrResultUtils.h diff --git a/3rdPart/include/OcrLiteOnnx/OcrStruct.h b/3rdparty/include/OcrLiteOnnx/OcrStruct.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/OcrStruct.h rename to 3rdparty/include/OcrLiteOnnx/OcrStruct.h diff --git a/3rdPart/include/OcrLiteOnnx/OcrUtils.h b/3rdparty/include/OcrLiteOnnx/OcrUtils.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/OcrUtils.h rename to 3rdparty/include/OcrLiteOnnx/OcrUtils.h diff --git a/3rdPart/include/OcrLiteOnnx/clipper.hpp b/3rdparty/include/OcrLiteOnnx/clipper.hpp similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/clipper.hpp rename to 3rdparty/include/OcrLiteOnnx/clipper.hpp diff --git a/3rdPart/include/OcrLiteOnnx/getopt.h b/3rdparty/include/OcrLiteOnnx/getopt.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/getopt.h rename to 3rdparty/include/OcrLiteOnnx/getopt.h diff --git a/3rdPart/include/OcrLiteOnnx/main.h b/3rdparty/include/OcrLiteOnnx/main.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/main.h rename to 3rdparty/include/OcrLiteOnnx/main.h diff --git a/3rdPart/include/OcrLiteOnnx/version.h b/3rdparty/include/OcrLiteOnnx/version.h similarity index 100% rename from 3rdPart/include/OcrLiteOnnx/version.h rename to 3rdparty/include/OcrLiteOnnx/version.h diff --git a/3rdPart/include/meojson/json.h b/3rdparty/include/meojson/json.h similarity index 100% rename from 3rdPart/include/meojson/json.h rename to 3rdparty/include/meojson/json.h diff --git a/3rdPart/include/meojson/json_array.h b/3rdparty/include/meojson/json_array.h similarity index 100% rename from 3rdPart/include/meojson/json_array.h rename to 3rdparty/include/meojson/json_array.h diff --git a/3rdPart/include/meojson/json_aux.cpp b/3rdparty/include/meojson/json_aux.cpp similarity index 100% rename from 3rdPart/include/meojson/json_aux.cpp rename to 3rdparty/include/meojson/json_aux.cpp diff --git a/3rdPart/include/meojson/json_aux.h b/3rdparty/include/meojson/json_aux.h similarity index 100% rename from 3rdPart/include/meojson/json_aux.h rename to 3rdparty/include/meojson/json_aux.h diff --git a/3rdPart/include/meojson/json_exception.h b/3rdparty/include/meojson/json_exception.h similarity index 100% rename from 3rdPart/include/meojson/json_exception.h rename to 3rdparty/include/meojson/json_exception.h diff --git a/3rdPart/include/meojson/json_object.h b/3rdparty/include/meojson/json_object.h similarity index 100% rename from 3rdPart/include/meojson/json_object.h rename to 3rdparty/include/meojson/json_object.h diff --git a/3rdPart/include/meojson/json_parser.h b/3rdparty/include/meojson/json_parser.h similarity index 100% rename from 3rdPart/include/meojson/json_parser.h rename to 3rdparty/include/meojson/json_parser.h diff --git a/3rdPart/include/meojson/json_value.h b/3rdparty/include/meojson/json_value.h similarity index 100% rename from 3rdPart/include/meojson/json_value.h rename to 3rdparty/include/meojson/json_value.h diff --git a/3rdPart/include/opencv/cv.h b/3rdparty/include/opencv/cv.h similarity index 100% rename from 3rdPart/include/opencv/cv.h rename to 3rdparty/include/opencv/cv.h diff --git a/3rdPart/include/opencv/cv.hpp b/3rdparty/include/opencv/cv.hpp similarity index 100% rename from 3rdPart/include/opencv/cv.hpp rename to 3rdparty/include/opencv/cv.hpp diff --git a/3rdPart/include/opencv/cvaux.h b/3rdparty/include/opencv/cvaux.h similarity index 100% rename from 3rdPart/include/opencv/cvaux.h rename to 3rdparty/include/opencv/cvaux.h diff --git a/3rdPart/include/opencv/cvaux.hpp b/3rdparty/include/opencv/cvaux.hpp similarity index 100% rename from 3rdPart/include/opencv/cvaux.hpp rename to 3rdparty/include/opencv/cvaux.hpp diff --git a/3rdPart/include/opencv/cvwimage.h b/3rdparty/include/opencv/cvwimage.h similarity index 100% rename from 3rdPart/include/opencv/cvwimage.h rename to 3rdparty/include/opencv/cvwimage.h diff --git a/3rdPart/include/opencv/cxcore.h b/3rdparty/include/opencv/cxcore.h similarity index 100% rename from 3rdPart/include/opencv/cxcore.h rename to 3rdparty/include/opencv/cxcore.h diff --git a/3rdPart/include/opencv/cxcore.hpp b/3rdparty/include/opencv/cxcore.hpp similarity index 100% rename from 3rdPart/include/opencv/cxcore.hpp rename to 3rdparty/include/opencv/cxcore.hpp diff --git a/3rdPart/include/opencv/cxeigen.hpp b/3rdparty/include/opencv/cxeigen.hpp similarity index 100% rename from 3rdPart/include/opencv/cxeigen.hpp rename to 3rdparty/include/opencv/cxeigen.hpp diff --git a/3rdPart/include/opencv/cxmisc.h b/3rdparty/include/opencv/cxmisc.h similarity index 100% rename from 3rdPart/include/opencv/cxmisc.h rename to 3rdparty/include/opencv/cxmisc.h diff --git a/3rdPart/include/opencv/highgui.h b/3rdparty/include/opencv/highgui.h similarity index 100% rename from 3rdPart/include/opencv/highgui.h rename to 3rdparty/include/opencv/highgui.h diff --git a/3rdPart/include/opencv/ml.h b/3rdparty/include/opencv/ml.h similarity index 100% rename from 3rdPart/include/opencv/ml.h rename to 3rdparty/include/opencv/ml.h diff --git a/3rdPart/include/opencv2/aruco.hpp b/3rdparty/include/opencv2/aruco.hpp similarity index 100% rename from 3rdPart/include/opencv2/aruco.hpp rename to 3rdparty/include/opencv2/aruco.hpp diff --git a/3rdPart/include/opencv2/aruco/charuco.hpp b/3rdparty/include/opencv2/aruco/charuco.hpp similarity index 100% rename from 3rdPart/include/opencv2/aruco/charuco.hpp rename to 3rdparty/include/opencv2/aruco/charuco.hpp diff --git a/3rdPart/include/opencv2/aruco/dictionary.hpp b/3rdparty/include/opencv2/aruco/dictionary.hpp similarity index 100% rename from 3rdPart/include/opencv2/aruco/dictionary.hpp rename to 3rdparty/include/opencv2/aruco/dictionary.hpp diff --git a/3rdPart/include/opencv2/bgsegm.hpp b/3rdparty/include/opencv2/bgsegm.hpp similarity index 100% rename from 3rdPart/include/opencv2/bgsegm.hpp rename to 3rdparty/include/opencv2/bgsegm.hpp diff --git a/3rdPart/include/opencv2/bioinspired.hpp b/3rdparty/include/opencv2/bioinspired.hpp similarity index 100% rename from 3rdPart/include/opencv2/bioinspired.hpp rename to 3rdparty/include/opencv2/bioinspired.hpp diff --git a/3rdPart/include/opencv2/bioinspired/bioinspired.hpp b/3rdparty/include/opencv2/bioinspired/bioinspired.hpp similarity index 100% rename from 3rdPart/include/opencv2/bioinspired/bioinspired.hpp rename to 3rdparty/include/opencv2/bioinspired/bioinspired.hpp diff --git a/3rdPart/include/opencv2/bioinspired/retina.hpp b/3rdparty/include/opencv2/bioinspired/retina.hpp similarity index 100% rename from 3rdPart/include/opencv2/bioinspired/retina.hpp rename to 3rdparty/include/opencv2/bioinspired/retina.hpp diff --git a/3rdPart/include/opencv2/bioinspired/retinafasttonemapping.hpp b/3rdparty/include/opencv2/bioinspired/retinafasttonemapping.hpp similarity index 100% rename from 3rdPart/include/opencv2/bioinspired/retinafasttonemapping.hpp rename to 3rdparty/include/opencv2/bioinspired/retinafasttonemapping.hpp diff --git a/3rdPart/include/opencv2/bioinspired/transientareassegmentationmodule.hpp b/3rdparty/include/opencv2/bioinspired/transientareassegmentationmodule.hpp similarity index 100% rename from 3rdPart/include/opencv2/bioinspired/transientareassegmentationmodule.hpp rename to 3rdparty/include/opencv2/bioinspired/transientareassegmentationmodule.hpp diff --git a/3rdPart/include/opencv2/calib3d.hpp b/3rdparty/include/opencv2/calib3d.hpp similarity index 100% rename from 3rdPart/include/opencv2/calib3d.hpp rename to 3rdparty/include/opencv2/calib3d.hpp diff --git a/3rdPart/include/opencv2/calib3d/calib3d.hpp b/3rdparty/include/opencv2/calib3d/calib3d.hpp similarity index 100% rename from 3rdPart/include/opencv2/calib3d/calib3d.hpp rename to 3rdparty/include/opencv2/calib3d/calib3d.hpp diff --git a/3rdPart/include/opencv2/calib3d/calib3d_c.h b/3rdparty/include/opencv2/calib3d/calib3d_c.h similarity index 100% rename from 3rdPart/include/opencv2/calib3d/calib3d_c.h rename to 3rdparty/include/opencv2/calib3d/calib3d_c.h diff --git a/3rdPart/include/opencv2/ccalib.hpp b/3rdparty/include/opencv2/ccalib.hpp similarity index 100% rename from 3rdPart/include/opencv2/ccalib.hpp rename to 3rdparty/include/opencv2/ccalib.hpp diff --git a/3rdPart/include/opencv2/ccalib/multicalib.hpp b/3rdparty/include/opencv2/ccalib/multicalib.hpp similarity index 100% rename from 3rdPart/include/opencv2/ccalib/multicalib.hpp rename to 3rdparty/include/opencv2/ccalib/multicalib.hpp diff --git a/3rdPart/include/opencv2/ccalib/omnidir.hpp b/3rdparty/include/opencv2/ccalib/omnidir.hpp similarity index 100% rename from 3rdPart/include/opencv2/ccalib/omnidir.hpp rename to 3rdparty/include/opencv2/ccalib/omnidir.hpp diff --git a/3rdPart/include/opencv2/ccalib/randpattern.hpp b/3rdparty/include/opencv2/ccalib/randpattern.hpp similarity index 100% rename from 3rdPart/include/opencv2/ccalib/randpattern.hpp rename to 3rdparty/include/opencv2/ccalib/randpattern.hpp diff --git a/3rdPart/include/opencv2/core.hpp b/3rdparty/include/opencv2/core.hpp similarity index 100% rename from 3rdPart/include/opencv2/core.hpp rename to 3rdparty/include/opencv2/core.hpp diff --git a/3rdPart/include/opencv2/core/affine.hpp b/3rdparty/include/opencv2/core/affine.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/affine.hpp rename to 3rdparty/include/opencv2/core/affine.hpp diff --git a/3rdPart/include/opencv2/core/async.hpp b/3rdparty/include/opencv2/core/async.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/async.hpp rename to 3rdparty/include/opencv2/core/async.hpp diff --git a/3rdPart/include/opencv2/core/base.hpp b/3rdparty/include/opencv2/core/base.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/base.hpp rename to 3rdparty/include/opencv2/core/base.hpp diff --git a/3rdPart/include/opencv2/core/bindings_utils.hpp b/3rdparty/include/opencv2/core/bindings_utils.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/bindings_utils.hpp rename to 3rdparty/include/opencv2/core/bindings_utils.hpp diff --git a/3rdPart/include/opencv2/core/bufferpool.hpp b/3rdparty/include/opencv2/core/bufferpool.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/bufferpool.hpp rename to 3rdparty/include/opencv2/core/bufferpool.hpp diff --git a/3rdPart/include/opencv2/core/check.hpp b/3rdparty/include/opencv2/core/check.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/check.hpp rename to 3rdparty/include/opencv2/core/check.hpp diff --git a/3rdPart/include/opencv2/core/core.hpp b/3rdparty/include/opencv2/core/core.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/core.hpp rename to 3rdparty/include/opencv2/core/core.hpp diff --git a/3rdPart/include/opencv2/core/core_c.h b/3rdparty/include/opencv2/core/core_c.h similarity index 100% rename from 3rdPart/include/opencv2/core/core_c.h rename to 3rdparty/include/opencv2/core/core_c.h diff --git a/3rdPart/include/opencv2/core/cuda.hpp b/3rdparty/include/opencv2/core/cuda.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda.hpp rename to 3rdparty/include/opencv2/core/cuda.hpp diff --git a/3rdPart/include/opencv2/core/cuda.inl.hpp b/3rdparty/include/opencv2/core/cuda.inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda.inl.hpp rename to 3rdparty/include/opencv2/core/cuda.inl.hpp diff --git a/3rdPart/include/opencv2/core/cuda/block.hpp b/3rdparty/include/opencv2/core/cuda/block.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/block.hpp rename to 3rdparty/include/opencv2/core/cuda/block.hpp diff --git a/3rdPart/include/opencv2/core/cuda/border_interpolate.hpp b/3rdparty/include/opencv2/core/cuda/border_interpolate.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/border_interpolate.hpp rename to 3rdparty/include/opencv2/core/cuda/border_interpolate.hpp diff --git a/3rdPart/include/opencv2/core/cuda/color.hpp b/3rdparty/include/opencv2/core/cuda/color.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/color.hpp rename to 3rdparty/include/opencv2/core/cuda/color.hpp diff --git a/3rdPart/include/opencv2/core/cuda/common.hpp b/3rdparty/include/opencv2/core/cuda/common.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/common.hpp rename to 3rdparty/include/opencv2/core/cuda/common.hpp diff --git a/3rdPart/include/opencv2/core/cuda/datamov_utils.hpp b/3rdparty/include/opencv2/core/cuda/datamov_utils.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/datamov_utils.hpp rename to 3rdparty/include/opencv2/core/cuda/datamov_utils.hpp diff --git a/3rdPart/include/opencv2/core/cuda/detail/color_detail.hpp b/3rdparty/include/opencv2/core/cuda/detail/color_detail.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/detail/color_detail.hpp rename to 3rdparty/include/opencv2/core/cuda/detail/color_detail.hpp diff --git a/3rdPart/include/opencv2/core/cuda/detail/reduce.hpp b/3rdparty/include/opencv2/core/cuda/detail/reduce.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/detail/reduce.hpp rename to 3rdparty/include/opencv2/core/cuda/detail/reduce.hpp diff --git a/3rdPart/include/opencv2/core/cuda/detail/reduce_key_val.hpp b/3rdparty/include/opencv2/core/cuda/detail/reduce_key_val.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/detail/reduce_key_val.hpp rename to 3rdparty/include/opencv2/core/cuda/detail/reduce_key_val.hpp diff --git a/3rdPart/include/opencv2/core/cuda/detail/transform_detail.hpp b/3rdparty/include/opencv2/core/cuda/detail/transform_detail.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/detail/transform_detail.hpp rename to 3rdparty/include/opencv2/core/cuda/detail/transform_detail.hpp diff --git a/3rdPart/include/opencv2/core/cuda/detail/type_traits_detail.hpp b/3rdparty/include/opencv2/core/cuda/detail/type_traits_detail.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/detail/type_traits_detail.hpp rename to 3rdparty/include/opencv2/core/cuda/detail/type_traits_detail.hpp diff --git a/3rdPart/include/opencv2/core/cuda/detail/vec_distance_detail.hpp b/3rdparty/include/opencv2/core/cuda/detail/vec_distance_detail.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/detail/vec_distance_detail.hpp rename to 3rdparty/include/opencv2/core/cuda/detail/vec_distance_detail.hpp diff --git a/3rdPart/include/opencv2/core/cuda/dynamic_smem.hpp b/3rdparty/include/opencv2/core/cuda/dynamic_smem.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/dynamic_smem.hpp rename to 3rdparty/include/opencv2/core/cuda/dynamic_smem.hpp diff --git a/3rdPart/include/opencv2/core/cuda/emulation.hpp b/3rdparty/include/opencv2/core/cuda/emulation.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/emulation.hpp rename to 3rdparty/include/opencv2/core/cuda/emulation.hpp diff --git a/3rdPart/include/opencv2/core/cuda/filters.hpp b/3rdparty/include/opencv2/core/cuda/filters.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/filters.hpp rename to 3rdparty/include/opencv2/core/cuda/filters.hpp diff --git a/3rdPart/include/opencv2/core/cuda/funcattrib.hpp b/3rdparty/include/opencv2/core/cuda/funcattrib.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/funcattrib.hpp rename to 3rdparty/include/opencv2/core/cuda/funcattrib.hpp diff --git a/3rdPart/include/opencv2/core/cuda/functional.hpp b/3rdparty/include/opencv2/core/cuda/functional.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/functional.hpp rename to 3rdparty/include/opencv2/core/cuda/functional.hpp diff --git a/3rdPart/include/opencv2/core/cuda/limits.hpp b/3rdparty/include/opencv2/core/cuda/limits.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/limits.hpp rename to 3rdparty/include/opencv2/core/cuda/limits.hpp diff --git a/3rdPart/include/opencv2/core/cuda/reduce.hpp b/3rdparty/include/opencv2/core/cuda/reduce.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/reduce.hpp rename to 3rdparty/include/opencv2/core/cuda/reduce.hpp diff --git a/3rdPart/include/opencv2/core/cuda/saturate_cast.hpp b/3rdparty/include/opencv2/core/cuda/saturate_cast.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/saturate_cast.hpp rename to 3rdparty/include/opencv2/core/cuda/saturate_cast.hpp diff --git a/3rdPart/include/opencv2/core/cuda/scan.hpp b/3rdparty/include/opencv2/core/cuda/scan.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/scan.hpp rename to 3rdparty/include/opencv2/core/cuda/scan.hpp diff --git a/3rdPart/include/opencv2/core/cuda/simd_functions.hpp b/3rdparty/include/opencv2/core/cuda/simd_functions.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/simd_functions.hpp rename to 3rdparty/include/opencv2/core/cuda/simd_functions.hpp diff --git a/3rdPart/include/opencv2/core/cuda/transform.hpp b/3rdparty/include/opencv2/core/cuda/transform.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/transform.hpp rename to 3rdparty/include/opencv2/core/cuda/transform.hpp diff --git a/3rdPart/include/opencv2/core/cuda/type_traits.hpp b/3rdparty/include/opencv2/core/cuda/type_traits.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/type_traits.hpp rename to 3rdparty/include/opencv2/core/cuda/type_traits.hpp diff --git a/3rdPart/include/opencv2/core/cuda/utility.hpp b/3rdparty/include/opencv2/core/cuda/utility.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/utility.hpp rename to 3rdparty/include/opencv2/core/cuda/utility.hpp diff --git a/3rdPart/include/opencv2/core/cuda/vec_distance.hpp b/3rdparty/include/opencv2/core/cuda/vec_distance.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/vec_distance.hpp rename to 3rdparty/include/opencv2/core/cuda/vec_distance.hpp diff --git a/3rdPart/include/opencv2/core/cuda/vec_math.hpp b/3rdparty/include/opencv2/core/cuda/vec_math.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/vec_math.hpp rename to 3rdparty/include/opencv2/core/cuda/vec_math.hpp diff --git a/3rdPart/include/opencv2/core/cuda/vec_traits.hpp b/3rdparty/include/opencv2/core/cuda/vec_traits.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/vec_traits.hpp rename to 3rdparty/include/opencv2/core/cuda/vec_traits.hpp diff --git a/3rdPart/include/opencv2/core/cuda/warp.hpp b/3rdparty/include/opencv2/core/cuda/warp.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/warp.hpp rename to 3rdparty/include/opencv2/core/cuda/warp.hpp diff --git a/3rdPart/include/opencv2/core/cuda/warp_reduce.hpp b/3rdparty/include/opencv2/core/cuda/warp_reduce.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/warp_reduce.hpp rename to 3rdparty/include/opencv2/core/cuda/warp_reduce.hpp diff --git a/3rdPart/include/opencv2/core/cuda/warp_shuffle.hpp b/3rdparty/include/opencv2/core/cuda/warp_shuffle.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda/warp_shuffle.hpp rename to 3rdparty/include/opencv2/core/cuda/warp_shuffle.hpp diff --git a/3rdPart/include/opencv2/core/cuda_stream_accessor.hpp b/3rdparty/include/opencv2/core/cuda_stream_accessor.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda_stream_accessor.hpp rename to 3rdparty/include/opencv2/core/cuda_stream_accessor.hpp diff --git a/3rdPart/include/opencv2/core/cuda_types.hpp b/3rdparty/include/opencv2/core/cuda_types.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cuda_types.hpp rename to 3rdparty/include/opencv2/core/cuda_types.hpp diff --git a/3rdPart/include/opencv2/core/cv_cpu_dispatch.h b/3rdparty/include/opencv2/core/cv_cpu_dispatch.h similarity index 100% rename from 3rdPart/include/opencv2/core/cv_cpu_dispatch.h rename to 3rdparty/include/opencv2/core/cv_cpu_dispatch.h diff --git a/3rdPart/include/opencv2/core/cv_cpu_helper.h b/3rdparty/include/opencv2/core/cv_cpu_helper.h similarity index 100% rename from 3rdPart/include/opencv2/core/cv_cpu_helper.h rename to 3rdparty/include/opencv2/core/cv_cpu_helper.h diff --git a/3rdPart/include/opencv2/core/cvdef.h b/3rdparty/include/opencv2/core/cvdef.h similarity index 100% rename from 3rdPart/include/opencv2/core/cvdef.h rename to 3rdparty/include/opencv2/core/cvdef.h diff --git a/3rdPart/include/opencv2/core/cvstd.hpp b/3rdparty/include/opencv2/core/cvstd.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cvstd.hpp rename to 3rdparty/include/opencv2/core/cvstd.hpp diff --git a/3rdPart/include/opencv2/core/cvstd.inl.hpp b/3rdparty/include/opencv2/core/cvstd.inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/cvstd.inl.hpp rename to 3rdparty/include/opencv2/core/cvstd.inl.hpp diff --git a/3rdPart/include/opencv2/core/detail/async_promise.hpp b/3rdparty/include/opencv2/core/detail/async_promise.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/detail/async_promise.hpp rename to 3rdparty/include/opencv2/core/detail/async_promise.hpp diff --git a/3rdPart/include/opencv2/core/detail/exception_ptr.hpp b/3rdparty/include/opencv2/core/detail/exception_ptr.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/detail/exception_ptr.hpp rename to 3rdparty/include/opencv2/core/detail/exception_ptr.hpp diff --git a/3rdPart/include/opencv2/core/directx.hpp b/3rdparty/include/opencv2/core/directx.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/directx.hpp rename to 3rdparty/include/opencv2/core/directx.hpp diff --git a/3rdPart/include/opencv2/core/eigen.hpp b/3rdparty/include/opencv2/core/eigen.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/eigen.hpp rename to 3rdparty/include/opencv2/core/eigen.hpp diff --git a/3rdPart/include/opencv2/core/fast_math.hpp b/3rdparty/include/opencv2/core/fast_math.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/fast_math.hpp rename to 3rdparty/include/opencv2/core/fast_math.hpp diff --git a/3rdPart/include/opencv2/core/hal/hal.hpp b/3rdparty/include/opencv2/core/hal/hal.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/hal.hpp rename to 3rdparty/include/opencv2/core/hal/hal.hpp diff --git a/3rdPart/include/opencv2/core/hal/interface.h b/3rdparty/include/opencv2/core/hal/interface.h similarity index 100% rename from 3rdPart/include/opencv2/core/hal/interface.h rename to 3rdparty/include/opencv2/core/hal/interface.h diff --git a/3rdPart/include/opencv2/core/hal/intrin.hpp b/3rdparty/include/opencv2/core/hal/intrin.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin.hpp rename to 3rdparty/include/opencv2/core/hal/intrin.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_avx.hpp b/3rdparty/include/opencv2/core/hal/intrin_avx.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_avx.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_avx.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_avx512.hpp b/3rdparty/include/opencv2/core/hal/intrin_avx512.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_avx512.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_avx512.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_cpp.hpp b/3rdparty/include/opencv2/core/hal/intrin_cpp.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_cpp.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_cpp.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_forward.hpp b/3rdparty/include/opencv2/core/hal/intrin_forward.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_forward.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_forward.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_msa.hpp b/3rdparty/include/opencv2/core/hal/intrin_msa.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_msa.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_msa.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_neon.hpp b/3rdparty/include/opencv2/core/hal/intrin_neon.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_neon.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_neon.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_sse.hpp b/3rdparty/include/opencv2/core/hal/intrin_sse.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_sse.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_sse.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_sse_em.hpp b/3rdparty/include/opencv2/core/hal/intrin_sse_em.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_sse_em.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_sse_em.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_vsx.hpp b/3rdparty/include/opencv2/core/hal/intrin_vsx.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_vsx.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_vsx.hpp diff --git a/3rdPart/include/opencv2/core/hal/intrin_wasm.hpp b/3rdparty/include/opencv2/core/hal/intrin_wasm.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/intrin_wasm.hpp rename to 3rdparty/include/opencv2/core/hal/intrin_wasm.hpp diff --git a/3rdPart/include/opencv2/core/hal/msa_macros.h b/3rdparty/include/opencv2/core/hal/msa_macros.h similarity index 100% rename from 3rdPart/include/opencv2/core/hal/msa_macros.h rename to 3rdparty/include/opencv2/core/hal/msa_macros.h diff --git a/3rdPart/include/opencv2/core/hal/simd_utils.impl.hpp b/3rdparty/include/opencv2/core/hal/simd_utils.impl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/hal/simd_utils.impl.hpp rename to 3rdparty/include/opencv2/core/hal/simd_utils.impl.hpp diff --git a/3rdPart/include/opencv2/core/ippasync.hpp b/3rdparty/include/opencv2/core/ippasync.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/ippasync.hpp rename to 3rdparty/include/opencv2/core/ippasync.hpp diff --git a/3rdPart/include/opencv2/core/mat.hpp b/3rdparty/include/opencv2/core/mat.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/mat.hpp rename to 3rdparty/include/opencv2/core/mat.hpp diff --git a/3rdPart/include/opencv2/core/mat.inl.hpp b/3rdparty/include/opencv2/core/mat.inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/mat.inl.hpp rename to 3rdparty/include/opencv2/core/mat.inl.hpp diff --git a/3rdPart/include/opencv2/core/matx.hpp b/3rdparty/include/opencv2/core/matx.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/matx.hpp rename to 3rdparty/include/opencv2/core/matx.hpp diff --git a/3rdPart/include/opencv2/core/neon_utils.hpp b/3rdparty/include/opencv2/core/neon_utils.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/neon_utils.hpp rename to 3rdparty/include/opencv2/core/neon_utils.hpp diff --git a/3rdPart/include/opencv2/core/ocl.hpp b/3rdparty/include/opencv2/core/ocl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/ocl.hpp rename to 3rdparty/include/opencv2/core/ocl.hpp diff --git a/3rdPart/include/opencv2/core/ocl_genbase.hpp b/3rdparty/include/opencv2/core/ocl_genbase.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/ocl_genbase.hpp rename to 3rdparty/include/opencv2/core/ocl_genbase.hpp diff --git a/3rdPart/include/opencv2/core/opencl/ocl_defs.hpp b/3rdparty/include/opencv2/core/opencl/ocl_defs.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/ocl_defs.hpp rename to 3rdparty/include/opencv2/core/opencl/ocl_defs.hpp diff --git a/3rdPart/include/opencv2/core/opencl/opencl_info.hpp b/3rdparty/include/opencv2/core/opencl/opencl_info.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/opencl_info.hpp rename to 3rdparty/include/opencv2/core/opencl/opencl_info.hpp diff --git a/3rdPart/include/opencv2/core/opencl/opencl_svm.hpp b/3rdparty/include/opencv2/core/opencl/opencl_svm.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/opencl_svm.hpp rename to 3rdparty/include/opencv2/core/opencl/opencl_svm.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdblas.hpp b/3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdblas.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdblas.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdblas.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdfft.hpp b/3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdfft.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdfft.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_clamdfft.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp b/3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp b/3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp b/3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp b/3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_clamdblas.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_clamdblas.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_clamdblas.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_clamdblas.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_clamdfft.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_clamdfft.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_clamdfft.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_clamdfft.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_core.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_core.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_core.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_core.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_gl.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_gl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_gl.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_gl.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp diff --git a/3rdPart/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp b/3rdparty/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp rename to 3rdparty/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp diff --git a/3rdPart/include/opencv2/core/opengl.hpp b/3rdparty/include/opencv2/core/opengl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/opengl.hpp rename to 3rdparty/include/opencv2/core/opengl.hpp diff --git a/3rdPart/include/opencv2/core/operations.hpp b/3rdparty/include/opencv2/core/operations.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/operations.hpp rename to 3rdparty/include/opencv2/core/operations.hpp diff --git a/3rdPart/include/opencv2/core/optim.hpp b/3rdparty/include/opencv2/core/optim.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/optim.hpp rename to 3rdparty/include/opencv2/core/optim.hpp diff --git a/3rdPart/include/opencv2/core/ovx.hpp b/3rdparty/include/opencv2/core/ovx.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/ovx.hpp rename to 3rdparty/include/opencv2/core/ovx.hpp diff --git a/3rdPart/include/opencv2/core/persistence.hpp b/3rdparty/include/opencv2/core/persistence.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/persistence.hpp rename to 3rdparty/include/opencv2/core/persistence.hpp diff --git a/3rdPart/include/opencv2/core/ptr.inl.hpp b/3rdparty/include/opencv2/core/ptr.inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/ptr.inl.hpp rename to 3rdparty/include/opencv2/core/ptr.inl.hpp diff --git a/3rdPart/include/opencv2/core/saturate.hpp b/3rdparty/include/opencv2/core/saturate.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/saturate.hpp rename to 3rdparty/include/opencv2/core/saturate.hpp diff --git a/3rdPart/include/opencv2/core/simd_intrinsics.hpp b/3rdparty/include/opencv2/core/simd_intrinsics.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/simd_intrinsics.hpp rename to 3rdparty/include/opencv2/core/simd_intrinsics.hpp diff --git a/3rdPart/include/opencv2/core/softfloat.hpp b/3rdparty/include/opencv2/core/softfloat.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/softfloat.hpp rename to 3rdparty/include/opencv2/core/softfloat.hpp diff --git a/3rdPart/include/opencv2/core/sse_utils.hpp b/3rdparty/include/opencv2/core/sse_utils.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/sse_utils.hpp rename to 3rdparty/include/opencv2/core/sse_utils.hpp diff --git a/3rdPart/include/opencv2/core/traits.hpp b/3rdparty/include/opencv2/core/traits.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/traits.hpp rename to 3rdparty/include/opencv2/core/traits.hpp diff --git a/3rdPart/include/opencv2/core/types.hpp b/3rdparty/include/opencv2/core/types.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/types.hpp rename to 3rdparty/include/opencv2/core/types.hpp diff --git a/3rdPart/include/opencv2/core/types_c.h b/3rdparty/include/opencv2/core/types_c.h similarity index 100% rename from 3rdPart/include/opencv2/core/types_c.h rename to 3rdparty/include/opencv2/core/types_c.h diff --git a/3rdPart/include/opencv2/core/utility.hpp b/3rdparty/include/opencv2/core/utility.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utility.hpp rename to 3rdparty/include/opencv2/core/utility.hpp diff --git a/3rdPart/include/opencv2/core/utils/allocator_stats.hpp b/3rdparty/include/opencv2/core/utils/allocator_stats.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/allocator_stats.hpp rename to 3rdparty/include/opencv2/core/utils/allocator_stats.hpp diff --git a/3rdPart/include/opencv2/core/utils/allocator_stats.impl.hpp b/3rdparty/include/opencv2/core/utils/allocator_stats.impl.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/allocator_stats.impl.hpp rename to 3rdparty/include/opencv2/core/utils/allocator_stats.impl.hpp diff --git a/3rdPart/include/opencv2/core/utils/filesystem.hpp b/3rdparty/include/opencv2/core/utils/filesystem.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/filesystem.hpp rename to 3rdparty/include/opencv2/core/utils/filesystem.hpp diff --git a/3rdPart/include/opencv2/core/utils/instrumentation.hpp b/3rdparty/include/opencv2/core/utils/instrumentation.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/instrumentation.hpp rename to 3rdparty/include/opencv2/core/utils/instrumentation.hpp diff --git a/3rdPart/include/opencv2/core/utils/logger.defines.hpp b/3rdparty/include/opencv2/core/utils/logger.defines.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/logger.defines.hpp rename to 3rdparty/include/opencv2/core/utils/logger.defines.hpp diff --git a/3rdPart/include/opencv2/core/utils/logger.hpp b/3rdparty/include/opencv2/core/utils/logger.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/logger.hpp rename to 3rdparty/include/opencv2/core/utils/logger.hpp diff --git a/3rdPart/include/opencv2/core/utils/tls.hpp b/3rdparty/include/opencv2/core/utils/tls.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/tls.hpp rename to 3rdparty/include/opencv2/core/utils/tls.hpp diff --git a/3rdPart/include/opencv2/core/utils/trace.hpp b/3rdparty/include/opencv2/core/utils/trace.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/utils/trace.hpp rename to 3rdparty/include/opencv2/core/utils/trace.hpp diff --git a/3rdPart/include/opencv2/core/va_intel.hpp b/3rdparty/include/opencv2/core/va_intel.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/va_intel.hpp rename to 3rdparty/include/opencv2/core/va_intel.hpp diff --git a/3rdPart/include/opencv2/core/version.hpp b/3rdparty/include/opencv2/core/version.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/version.hpp rename to 3rdparty/include/opencv2/core/version.hpp diff --git a/3rdPart/include/opencv2/core/vsx_utils.hpp b/3rdparty/include/opencv2/core/vsx_utils.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/vsx_utils.hpp rename to 3rdparty/include/opencv2/core/vsx_utils.hpp diff --git a/3rdPart/include/opencv2/core/wimage.hpp b/3rdparty/include/opencv2/core/wimage.hpp similarity index 100% rename from 3rdPart/include/opencv2/core/wimage.hpp rename to 3rdparty/include/opencv2/core/wimage.hpp diff --git a/3rdPart/include/opencv2/core_detect.hpp b/3rdparty/include/opencv2/core_detect.hpp similarity index 100% rename from 3rdPart/include/opencv2/core_detect.hpp rename to 3rdparty/include/opencv2/core_detect.hpp diff --git a/3rdPart/include/opencv2/cvconfig.h b/3rdparty/include/opencv2/cvconfig.h similarity index 100% rename from 3rdPart/include/opencv2/cvconfig.h rename to 3rdparty/include/opencv2/cvconfig.h diff --git a/3rdPart/include/opencv2/datasets/ar_hmdb.hpp b/3rdparty/include/opencv2/datasets/ar_hmdb.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/ar_hmdb.hpp rename to 3rdparty/include/opencv2/datasets/ar_hmdb.hpp diff --git a/3rdPart/include/opencv2/datasets/ar_sports.hpp b/3rdparty/include/opencv2/datasets/ar_sports.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/ar_sports.hpp rename to 3rdparty/include/opencv2/datasets/ar_sports.hpp diff --git a/3rdPart/include/opencv2/datasets/dataset.hpp b/3rdparty/include/opencv2/datasets/dataset.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/dataset.hpp rename to 3rdparty/include/opencv2/datasets/dataset.hpp diff --git a/3rdPart/include/opencv2/datasets/fr_adience.hpp b/3rdparty/include/opencv2/datasets/fr_adience.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/fr_adience.hpp rename to 3rdparty/include/opencv2/datasets/fr_adience.hpp diff --git a/3rdPart/include/opencv2/datasets/fr_lfw.hpp b/3rdparty/include/opencv2/datasets/fr_lfw.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/fr_lfw.hpp rename to 3rdparty/include/opencv2/datasets/fr_lfw.hpp diff --git a/3rdPart/include/opencv2/datasets/gr_chalearn.hpp b/3rdparty/include/opencv2/datasets/gr_chalearn.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/gr_chalearn.hpp rename to 3rdparty/include/opencv2/datasets/gr_chalearn.hpp diff --git a/3rdPart/include/opencv2/datasets/gr_skig.hpp b/3rdparty/include/opencv2/datasets/gr_skig.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/gr_skig.hpp rename to 3rdparty/include/opencv2/datasets/gr_skig.hpp diff --git a/3rdPart/include/opencv2/datasets/hpe_humaneva.hpp b/3rdparty/include/opencv2/datasets/hpe_humaneva.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/hpe_humaneva.hpp rename to 3rdparty/include/opencv2/datasets/hpe_humaneva.hpp diff --git a/3rdPart/include/opencv2/datasets/hpe_parse.hpp b/3rdparty/include/opencv2/datasets/hpe_parse.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/hpe_parse.hpp rename to 3rdparty/include/opencv2/datasets/hpe_parse.hpp diff --git a/3rdPart/include/opencv2/datasets/ir_affine.hpp b/3rdparty/include/opencv2/datasets/ir_affine.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/ir_affine.hpp rename to 3rdparty/include/opencv2/datasets/ir_affine.hpp diff --git a/3rdPart/include/opencv2/datasets/ir_robot.hpp b/3rdparty/include/opencv2/datasets/ir_robot.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/ir_robot.hpp rename to 3rdparty/include/opencv2/datasets/ir_robot.hpp diff --git a/3rdPart/include/opencv2/datasets/is_bsds.hpp b/3rdparty/include/opencv2/datasets/is_bsds.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/is_bsds.hpp rename to 3rdparty/include/opencv2/datasets/is_bsds.hpp diff --git a/3rdPart/include/opencv2/datasets/is_weizmann.hpp b/3rdparty/include/opencv2/datasets/is_weizmann.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/is_weizmann.hpp rename to 3rdparty/include/opencv2/datasets/is_weizmann.hpp diff --git a/3rdPart/include/opencv2/datasets/msm_epfl.hpp b/3rdparty/include/opencv2/datasets/msm_epfl.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/msm_epfl.hpp rename to 3rdparty/include/opencv2/datasets/msm_epfl.hpp diff --git a/3rdPart/include/opencv2/datasets/msm_middlebury.hpp b/3rdparty/include/opencv2/datasets/msm_middlebury.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/msm_middlebury.hpp rename to 3rdparty/include/opencv2/datasets/msm_middlebury.hpp diff --git a/3rdPart/include/opencv2/datasets/or_imagenet.hpp b/3rdparty/include/opencv2/datasets/or_imagenet.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/or_imagenet.hpp rename to 3rdparty/include/opencv2/datasets/or_imagenet.hpp diff --git a/3rdPart/include/opencv2/datasets/or_mnist.hpp b/3rdparty/include/opencv2/datasets/or_mnist.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/or_mnist.hpp rename to 3rdparty/include/opencv2/datasets/or_mnist.hpp diff --git a/3rdPart/include/opencv2/datasets/or_pascal.hpp b/3rdparty/include/opencv2/datasets/or_pascal.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/or_pascal.hpp rename to 3rdparty/include/opencv2/datasets/or_pascal.hpp diff --git a/3rdPart/include/opencv2/datasets/or_sun.hpp b/3rdparty/include/opencv2/datasets/or_sun.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/or_sun.hpp rename to 3rdparty/include/opencv2/datasets/or_sun.hpp diff --git a/3rdPart/include/opencv2/datasets/pd_caltech.hpp b/3rdparty/include/opencv2/datasets/pd_caltech.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/pd_caltech.hpp rename to 3rdparty/include/opencv2/datasets/pd_caltech.hpp diff --git a/3rdPart/include/opencv2/datasets/pd_inria.hpp b/3rdparty/include/opencv2/datasets/pd_inria.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/pd_inria.hpp rename to 3rdparty/include/opencv2/datasets/pd_inria.hpp diff --git a/3rdPart/include/opencv2/datasets/slam_kitti.hpp b/3rdparty/include/opencv2/datasets/slam_kitti.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/slam_kitti.hpp rename to 3rdparty/include/opencv2/datasets/slam_kitti.hpp diff --git a/3rdPart/include/opencv2/datasets/slam_tumindoor.hpp b/3rdparty/include/opencv2/datasets/slam_tumindoor.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/slam_tumindoor.hpp rename to 3rdparty/include/opencv2/datasets/slam_tumindoor.hpp diff --git a/3rdPart/include/opencv2/datasets/tr_chars.hpp b/3rdparty/include/opencv2/datasets/tr_chars.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/tr_chars.hpp rename to 3rdparty/include/opencv2/datasets/tr_chars.hpp diff --git a/3rdPart/include/opencv2/datasets/tr_icdar.hpp b/3rdparty/include/opencv2/datasets/tr_icdar.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/tr_icdar.hpp rename to 3rdparty/include/opencv2/datasets/tr_icdar.hpp diff --git a/3rdPart/include/opencv2/datasets/tr_svt.hpp b/3rdparty/include/opencv2/datasets/tr_svt.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/tr_svt.hpp rename to 3rdparty/include/opencv2/datasets/tr_svt.hpp diff --git a/3rdPart/include/opencv2/datasets/track_alov.hpp b/3rdparty/include/opencv2/datasets/track_alov.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/track_alov.hpp rename to 3rdparty/include/opencv2/datasets/track_alov.hpp diff --git a/3rdPart/include/opencv2/datasets/track_vot.hpp b/3rdparty/include/opencv2/datasets/track_vot.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/track_vot.hpp rename to 3rdparty/include/opencv2/datasets/track_vot.hpp diff --git a/3rdPart/include/opencv2/datasets/util.hpp b/3rdparty/include/opencv2/datasets/util.hpp similarity index 100% rename from 3rdPart/include/opencv2/datasets/util.hpp rename to 3rdparty/include/opencv2/datasets/util.hpp diff --git a/3rdPart/include/opencv2/dnn.hpp b/3rdparty/include/opencv2/dnn.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn.hpp rename to 3rdparty/include/opencv2/dnn.hpp diff --git a/3rdPart/include/opencv2/dnn/all_layers.hpp b/3rdparty/include/opencv2/dnn/all_layers.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/all_layers.hpp rename to 3rdparty/include/opencv2/dnn/all_layers.hpp diff --git a/3rdPart/include/opencv2/dnn/dict.hpp b/3rdparty/include/opencv2/dnn/dict.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/dict.hpp rename to 3rdparty/include/opencv2/dnn/dict.hpp diff --git a/3rdPart/include/opencv2/dnn/dnn.hpp b/3rdparty/include/opencv2/dnn/dnn.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/dnn.hpp rename to 3rdparty/include/opencv2/dnn/dnn.hpp diff --git a/3rdPart/include/opencv2/dnn/dnn.inl.hpp b/3rdparty/include/opencv2/dnn/dnn.inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/dnn.inl.hpp rename to 3rdparty/include/opencv2/dnn/dnn.inl.hpp diff --git a/3rdPart/include/opencv2/dnn/layer.details.hpp b/3rdparty/include/opencv2/dnn/layer.details.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/layer.details.hpp rename to 3rdparty/include/opencv2/dnn/layer.details.hpp diff --git a/3rdPart/include/opencv2/dnn/layer.hpp b/3rdparty/include/opencv2/dnn/layer.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/layer.hpp rename to 3rdparty/include/opencv2/dnn/layer.hpp diff --git a/3rdPart/include/opencv2/dnn/shape_utils.hpp b/3rdparty/include/opencv2/dnn/shape_utils.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/shape_utils.hpp rename to 3rdparty/include/opencv2/dnn/shape_utils.hpp diff --git a/3rdPart/include/opencv2/dnn/utils/inference_engine.hpp b/3rdparty/include/opencv2/dnn/utils/inference_engine.hpp similarity index 100% rename from 3rdPart/include/opencv2/dnn/utils/inference_engine.hpp rename to 3rdparty/include/opencv2/dnn/utils/inference_engine.hpp diff --git a/3rdPart/include/opencv2/dpm.hpp b/3rdparty/include/opencv2/dpm.hpp similarity index 100% rename from 3rdPart/include/opencv2/dpm.hpp rename to 3rdparty/include/opencv2/dpm.hpp diff --git a/3rdPart/include/opencv2/face.hpp b/3rdparty/include/opencv2/face.hpp similarity index 100% rename from 3rdPart/include/opencv2/face.hpp rename to 3rdparty/include/opencv2/face.hpp diff --git a/3rdPart/include/opencv2/face/bif.hpp b/3rdparty/include/opencv2/face/bif.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/bif.hpp rename to 3rdparty/include/opencv2/face/bif.hpp diff --git a/3rdPart/include/opencv2/face/face_alignment.hpp b/3rdparty/include/opencv2/face/face_alignment.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/face_alignment.hpp rename to 3rdparty/include/opencv2/face/face_alignment.hpp diff --git a/3rdPart/include/opencv2/face/facemark.hpp b/3rdparty/include/opencv2/face/facemark.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/facemark.hpp rename to 3rdparty/include/opencv2/face/facemark.hpp diff --git a/3rdPart/include/opencv2/face/facemarkAAM.hpp b/3rdparty/include/opencv2/face/facemarkAAM.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/facemarkAAM.hpp rename to 3rdparty/include/opencv2/face/facemarkAAM.hpp diff --git a/3rdPart/include/opencv2/face/facemarkLBF.hpp b/3rdparty/include/opencv2/face/facemarkLBF.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/facemarkLBF.hpp rename to 3rdparty/include/opencv2/face/facemarkLBF.hpp diff --git a/3rdPart/include/opencv2/face/facemark_train.hpp b/3rdparty/include/opencv2/face/facemark_train.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/facemark_train.hpp rename to 3rdparty/include/opencv2/face/facemark_train.hpp diff --git a/3rdPart/include/opencv2/face/facerec.hpp b/3rdparty/include/opencv2/face/facerec.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/facerec.hpp rename to 3rdparty/include/opencv2/face/facerec.hpp diff --git a/3rdPart/include/opencv2/face/mace.hpp b/3rdparty/include/opencv2/face/mace.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/mace.hpp rename to 3rdparty/include/opencv2/face/mace.hpp diff --git a/3rdPart/include/opencv2/face/predict_collector.hpp b/3rdparty/include/opencv2/face/predict_collector.hpp similarity index 100% rename from 3rdPart/include/opencv2/face/predict_collector.hpp rename to 3rdparty/include/opencv2/face/predict_collector.hpp diff --git a/3rdPart/include/opencv2/features2d.hpp b/3rdparty/include/opencv2/features2d.hpp similarity index 100% rename from 3rdPart/include/opencv2/features2d.hpp rename to 3rdparty/include/opencv2/features2d.hpp diff --git a/3rdPart/include/opencv2/features2d/features2d.hpp b/3rdparty/include/opencv2/features2d/features2d.hpp similarity index 100% rename from 3rdPart/include/opencv2/features2d/features2d.hpp rename to 3rdparty/include/opencv2/features2d/features2d.hpp diff --git a/3rdPart/include/opencv2/features2d/hal/interface.h b/3rdparty/include/opencv2/features2d/hal/interface.h similarity index 100% rename from 3rdPart/include/opencv2/features2d/hal/interface.h rename to 3rdparty/include/opencv2/features2d/hal/interface.h diff --git a/3rdPart/include/opencv2/flann.hpp b/3rdparty/include/opencv2/flann.hpp similarity index 100% rename from 3rdPart/include/opencv2/flann.hpp rename to 3rdparty/include/opencv2/flann.hpp diff --git a/3rdPart/include/opencv2/flann/all_indices.h b/3rdparty/include/opencv2/flann/all_indices.h similarity index 100% rename from 3rdPart/include/opencv2/flann/all_indices.h rename to 3rdparty/include/opencv2/flann/all_indices.h diff --git a/3rdPart/include/opencv2/flann/allocator.h b/3rdparty/include/opencv2/flann/allocator.h similarity index 100% rename from 3rdPart/include/opencv2/flann/allocator.h rename to 3rdparty/include/opencv2/flann/allocator.h diff --git a/3rdPart/include/opencv2/flann/any.h b/3rdparty/include/opencv2/flann/any.h similarity index 100% rename from 3rdPart/include/opencv2/flann/any.h rename to 3rdparty/include/opencv2/flann/any.h diff --git a/3rdPart/include/opencv2/flann/autotuned_index.h b/3rdparty/include/opencv2/flann/autotuned_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/autotuned_index.h rename to 3rdparty/include/opencv2/flann/autotuned_index.h diff --git a/3rdPart/include/opencv2/flann/composite_index.h b/3rdparty/include/opencv2/flann/composite_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/composite_index.h rename to 3rdparty/include/opencv2/flann/composite_index.h diff --git a/3rdPart/include/opencv2/flann/config.h b/3rdparty/include/opencv2/flann/config.h similarity index 100% rename from 3rdPart/include/opencv2/flann/config.h rename to 3rdparty/include/opencv2/flann/config.h diff --git a/3rdPart/include/opencv2/flann/defines.h b/3rdparty/include/opencv2/flann/defines.h similarity index 100% rename from 3rdPart/include/opencv2/flann/defines.h rename to 3rdparty/include/opencv2/flann/defines.h diff --git a/3rdPart/include/opencv2/flann/dist.h b/3rdparty/include/opencv2/flann/dist.h similarity index 100% rename from 3rdPart/include/opencv2/flann/dist.h rename to 3rdparty/include/opencv2/flann/dist.h diff --git a/3rdPart/include/opencv2/flann/dummy.h b/3rdparty/include/opencv2/flann/dummy.h similarity index 100% rename from 3rdPart/include/opencv2/flann/dummy.h rename to 3rdparty/include/opencv2/flann/dummy.h diff --git a/3rdPart/include/opencv2/flann/dynamic_bitset.h b/3rdparty/include/opencv2/flann/dynamic_bitset.h similarity index 100% rename from 3rdPart/include/opencv2/flann/dynamic_bitset.h rename to 3rdparty/include/opencv2/flann/dynamic_bitset.h diff --git a/3rdPart/include/opencv2/flann/flann.hpp b/3rdparty/include/opencv2/flann/flann.hpp similarity index 100% rename from 3rdPart/include/opencv2/flann/flann.hpp rename to 3rdparty/include/opencv2/flann/flann.hpp diff --git a/3rdPart/include/opencv2/flann/flann_base.hpp b/3rdparty/include/opencv2/flann/flann_base.hpp similarity index 100% rename from 3rdPart/include/opencv2/flann/flann_base.hpp rename to 3rdparty/include/opencv2/flann/flann_base.hpp diff --git a/3rdPart/include/opencv2/flann/general.h b/3rdparty/include/opencv2/flann/general.h similarity index 100% rename from 3rdPart/include/opencv2/flann/general.h rename to 3rdparty/include/opencv2/flann/general.h diff --git a/3rdPart/include/opencv2/flann/ground_truth.h b/3rdparty/include/opencv2/flann/ground_truth.h similarity index 100% rename from 3rdPart/include/opencv2/flann/ground_truth.h rename to 3rdparty/include/opencv2/flann/ground_truth.h diff --git a/3rdPart/include/opencv2/flann/hdf5.h b/3rdparty/include/opencv2/flann/hdf5.h similarity index 100% rename from 3rdPart/include/opencv2/flann/hdf5.h rename to 3rdparty/include/opencv2/flann/hdf5.h diff --git a/3rdPart/include/opencv2/flann/heap.h b/3rdparty/include/opencv2/flann/heap.h similarity index 100% rename from 3rdPart/include/opencv2/flann/heap.h rename to 3rdparty/include/opencv2/flann/heap.h diff --git a/3rdPart/include/opencv2/flann/hierarchical_clustering_index.h b/3rdparty/include/opencv2/flann/hierarchical_clustering_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/hierarchical_clustering_index.h rename to 3rdparty/include/opencv2/flann/hierarchical_clustering_index.h diff --git a/3rdPart/include/opencv2/flann/index_testing.h b/3rdparty/include/opencv2/flann/index_testing.h similarity index 100% rename from 3rdPart/include/opencv2/flann/index_testing.h rename to 3rdparty/include/opencv2/flann/index_testing.h diff --git a/3rdPart/include/opencv2/flann/kdtree_index.h b/3rdparty/include/opencv2/flann/kdtree_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/kdtree_index.h rename to 3rdparty/include/opencv2/flann/kdtree_index.h diff --git a/3rdPart/include/opencv2/flann/kdtree_single_index.h b/3rdparty/include/opencv2/flann/kdtree_single_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/kdtree_single_index.h rename to 3rdparty/include/opencv2/flann/kdtree_single_index.h diff --git a/3rdPart/include/opencv2/flann/kmeans_index.h b/3rdparty/include/opencv2/flann/kmeans_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/kmeans_index.h rename to 3rdparty/include/opencv2/flann/kmeans_index.h diff --git a/3rdPart/include/opencv2/flann/linear_index.h b/3rdparty/include/opencv2/flann/linear_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/linear_index.h rename to 3rdparty/include/opencv2/flann/linear_index.h diff --git a/3rdPart/include/opencv2/flann/logger.h b/3rdparty/include/opencv2/flann/logger.h similarity index 100% rename from 3rdPart/include/opencv2/flann/logger.h rename to 3rdparty/include/opencv2/flann/logger.h diff --git a/3rdPart/include/opencv2/flann/lsh_index.h b/3rdparty/include/opencv2/flann/lsh_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/lsh_index.h rename to 3rdparty/include/opencv2/flann/lsh_index.h diff --git a/3rdPart/include/opencv2/flann/lsh_table.h b/3rdparty/include/opencv2/flann/lsh_table.h similarity index 100% rename from 3rdPart/include/opencv2/flann/lsh_table.h rename to 3rdparty/include/opencv2/flann/lsh_table.h diff --git a/3rdPart/include/opencv2/flann/matrix.h b/3rdparty/include/opencv2/flann/matrix.h similarity index 100% rename from 3rdPart/include/opencv2/flann/matrix.h rename to 3rdparty/include/opencv2/flann/matrix.h diff --git a/3rdPart/include/opencv2/flann/miniflann.hpp b/3rdparty/include/opencv2/flann/miniflann.hpp similarity index 100% rename from 3rdPart/include/opencv2/flann/miniflann.hpp rename to 3rdparty/include/opencv2/flann/miniflann.hpp diff --git a/3rdPart/include/opencv2/flann/nn_index.h b/3rdparty/include/opencv2/flann/nn_index.h similarity index 100% rename from 3rdPart/include/opencv2/flann/nn_index.h rename to 3rdparty/include/opencv2/flann/nn_index.h diff --git a/3rdPart/include/opencv2/flann/object_factory.h b/3rdparty/include/opencv2/flann/object_factory.h similarity index 100% rename from 3rdPart/include/opencv2/flann/object_factory.h rename to 3rdparty/include/opencv2/flann/object_factory.h diff --git a/3rdPart/include/opencv2/flann/params.h b/3rdparty/include/opencv2/flann/params.h similarity index 100% rename from 3rdPart/include/opencv2/flann/params.h rename to 3rdparty/include/opencv2/flann/params.h diff --git a/3rdPart/include/opencv2/flann/random.h b/3rdparty/include/opencv2/flann/random.h similarity index 100% rename from 3rdPart/include/opencv2/flann/random.h rename to 3rdparty/include/opencv2/flann/random.h diff --git a/3rdPart/include/opencv2/flann/result_set.h b/3rdparty/include/opencv2/flann/result_set.h similarity index 100% rename from 3rdPart/include/opencv2/flann/result_set.h rename to 3rdparty/include/opencv2/flann/result_set.h diff --git a/3rdPart/include/opencv2/flann/sampling.h b/3rdparty/include/opencv2/flann/sampling.h similarity index 100% rename from 3rdPart/include/opencv2/flann/sampling.h rename to 3rdparty/include/opencv2/flann/sampling.h diff --git a/3rdPart/include/opencv2/flann/saving.h b/3rdparty/include/opencv2/flann/saving.h similarity index 100% rename from 3rdPart/include/opencv2/flann/saving.h rename to 3rdparty/include/opencv2/flann/saving.h diff --git a/3rdPart/include/opencv2/flann/simplex_downhill.h b/3rdparty/include/opencv2/flann/simplex_downhill.h similarity index 100% rename from 3rdPart/include/opencv2/flann/simplex_downhill.h rename to 3rdparty/include/opencv2/flann/simplex_downhill.h diff --git a/3rdPart/include/opencv2/flann/timer.h b/3rdparty/include/opencv2/flann/timer.h similarity index 100% rename from 3rdPart/include/opencv2/flann/timer.h rename to 3rdparty/include/opencv2/flann/timer.h diff --git a/3rdPart/include/opencv2/fuzzy.hpp b/3rdparty/include/opencv2/fuzzy.hpp similarity index 100% rename from 3rdPart/include/opencv2/fuzzy.hpp rename to 3rdparty/include/opencv2/fuzzy.hpp diff --git a/3rdPart/include/opencv2/fuzzy/fuzzy_F0_math.hpp b/3rdparty/include/opencv2/fuzzy/fuzzy_F0_math.hpp similarity index 100% rename from 3rdPart/include/opencv2/fuzzy/fuzzy_F0_math.hpp rename to 3rdparty/include/opencv2/fuzzy/fuzzy_F0_math.hpp diff --git a/3rdPart/include/opencv2/fuzzy/fuzzy_F1_math.hpp b/3rdparty/include/opencv2/fuzzy/fuzzy_F1_math.hpp similarity index 100% rename from 3rdPart/include/opencv2/fuzzy/fuzzy_F1_math.hpp rename to 3rdparty/include/opencv2/fuzzy/fuzzy_F1_math.hpp diff --git a/3rdPart/include/opencv2/fuzzy/fuzzy_image.hpp b/3rdparty/include/opencv2/fuzzy/fuzzy_image.hpp similarity index 100% rename from 3rdPart/include/opencv2/fuzzy/fuzzy_image.hpp rename to 3rdparty/include/opencv2/fuzzy/fuzzy_image.hpp diff --git a/3rdPart/include/opencv2/fuzzy/types.hpp b/3rdparty/include/opencv2/fuzzy/types.hpp similarity index 100% rename from 3rdPart/include/opencv2/fuzzy/types.hpp rename to 3rdparty/include/opencv2/fuzzy/types.hpp diff --git a/3rdPart/include/opencv2/hfs.hpp b/3rdparty/include/opencv2/hfs.hpp similarity index 100% rename from 3rdPart/include/opencv2/hfs.hpp rename to 3rdparty/include/opencv2/hfs.hpp diff --git a/3rdPart/include/opencv2/highgui.hpp b/3rdparty/include/opencv2/highgui.hpp similarity index 100% rename from 3rdPart/include/opencv2/highgui.hpp rename to 3rdparty/include/opencv2/highgui.hpp diff --git a/3rdPart/include/opencv2/highgui/highgui.hpp b/3rdparty/include/opencv2/highgui/highgui.hpp similarity index 100% rename from 3rdPart/include/opencv2/highgui/highgui.hpp rename to 3rdparty/include/opencv2/highgui/highgui.hpp diff --git a/3rdPart/include/opencv2/highgui/highgui_c.h b/3rdparty/include/opencv2/highgui/highgui_c.h similarity index 100% rename from 3rdPart/include/opencv2/highgui/highgui_c.h rename to 3rdparty/include/opencv2/highgui/highgui_c.h diff --git a/3rdPart/include/opencv2/img_hash.hpp b/3rdparty/include/opencv2/img_hash.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash.hpp rename to 3rdparty/include/opencv2/img_hash.hpp diff --git a/3rdPart/include/opencv2/img_hash/average_hash.hpp b/3rdparty/include/opencv2/img_hash/average_hash.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash/average_hash.hpp rename to 3rdparty/include/opencv2/img_hash/average_hash.hpp diff --git a/3rdPart/include/opencv2/img_hash/block_mean_hash.hpp b/3rdparty/include/opencv2/img_hash/block_mean_hash.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash/block_mean_hash.hpp rename to 3rdparty/include/opencv2/img_hash/block_mean_hash.hpp diff --git a/3rdPart/include/opencv2/img_hash/color_moment_hash.hpp b/3rdparty/include/opencv2/img_hash/color_moment_hash.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash/color_moment_hash.hpp rename to 3rdparty/include/opencv2/img_hash/color_moment_hash.hpp diff --git a/3rdPart/include/opencv2/img_hash/img_hash_base.hpp b/3rdparty/include/opencv2/img_hash/img_hash_base.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash/img_hash_base.hpp rename to 3rdparty/include/opencv2/img_hash/img_hash_base.hpp diff --git a/3rdPart/include/opencv2/img_hash/marr_hildreth_hash.hpp b/3rdparty/include/opencv2/img_hash/marr_hildreth_hash.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash/marr_hildreth_hash.hpp rename to 3rdparty/include/opencv2/img_hash/marr_hildreth_hash.hpp diff --git a/3rdPart/include/opencv2/img_hash/phash.hpp b/3rdparty/include/opencv2/img_hash/phash.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash/phash.hpp rename to 3rdparty/include/opencv2/img_hash/phash.hpp diff --git a/3rdPart/include/opencv2/img_hash/radial_variance_hash.hpp b/3rdparty/include/opencv2/img_hash/radial_variance_hash.hpp similarity index 100% rename from 3rdPart/include/opencv2/img_hash/radial_variance_hash.hpp rename to 3rdparty/include/opencv2/img_hash/radial_variance_hash.hpp diff --git a/3rdPart/include/opencv2/imgcodecs.hpp b/3rdparty/include/opencv2/imgcodecs.hpp similarity index 100% rename from 3rdPart/include/opencv2/imgcodecs.hpp rename to 3rdparty/include/opencv2/imgcodecs.hpp diff --git a/3rdPart/include/opencv2/imgcodecs/imgcodecs.hpp b/3rdparty/include/opencv2/imgcodecs/imgcodecs.hpp similarity index 100% rename from 3rdPart/include/opencv2/imgcodecs/imgcodecs.hpp rename to 3rdparty/include/opencv2/imgcodecs/imgcodecs.hpp diff --git a/3rdPart/include/opencv2/imgcodecs/imgcodecs_c.h b/3rdparty/include/opencv2/imgcodecs/imgcodecs_c.h similarity index 100% rename from 3rdPart/include/opencv2/imgcodecs/imgcodecs_c.h rename to 3rdparty/include/opencv2/imgcodecs/imgcodecs_c.h diff --git a/3rdPart/include/opencv2/imgcodecs/ios.h b/3rdparty/include/opencv2/imgcodecs/ios.h similarity index 100% rename from 3rdPart/include/opencv2/imgcodecs/ios.h rename to 3rdparty/include/opencv2/imgcodecs/ios.h diff --git a/3rdPart/include/opencv2/imgproc.hpp b/3rdparty/include/opencv2/imgproc.hpp similarity index 100% rename from 3rdPart/include/opencv2/imgproc.hpp rename to 3rdparty/include/opencv2/imgproc.hpp diff --git a/3rdPart/include/opencv2/imgproc/detail/distortion_model.hpp b/3rdparty/include/opencv2/imgproc/detail/distortion_model.hpp similarity index 100% rename from 3rdPart/include/opencv2/imgproc/detail/distortion_model.hpp rename to 3rdparty/include/opencv2/imgproc/detail/distortion_model.hpp diff --git a/3rdPart/include/opencv2/imgproc/hal/hal.hpp b/3rdparty/include/opencv2/imgproc/hal/hal.hpp similarity index 100% rename from 3rdPart/include/opencv2/imgproc/hal/hal.hpp rename to 3rdparty/include/opencv2/imgproc/hal/hal.hpp diff --git a/3rdPart/include/opencv2/imgproc/hal/interface.h b/3rdparty/include/opencv2/imgproc/hal/interface.h similarity index 100% rename from 3rdPart/include/opencv2/imgproc/hal/interface.h rename to 3rdparty/include/opencv2/imgproc/hal/interface.h diff --git a/3rdPart/include/opencv2/imgproc/imgproc.hpp b/3rdparty/include/opencv2/imgproc/imgproc.hpp similarity index 100% rename from 3rdPart/include/opencv2/imgproc/imgproc.hpp rename to 3rdparty/include/opencv2/imgproc/imgproc.hpp diff --git a/3rdPart/include/opencv2/imgproc/imgproc_c.h b/3rdparty/include/opencv2/imgproc/imgproc_c.h similarity index 100% rename from 3rdPart/include/opencv2/imgproc/imgproc_c.h rename to 3rdparty/include/opencv2/imgproc/imgproc_c.h diff --git a/3rdPart/include/opencv2/imgproc/types_c.h b/3rdparty/include/opencv2/imgproc/types_c.h similarity index 100% rename from 3rdPart/include/opencv2/imgproc/types_c.h rename to 3rdparty/include/opencv2/imgproc/types_c.h diff --git a/3rdPart/include/opencv2/line_descriptor.hpp b/3rdparty/include/opencv2/line_descriptor.hpp similarity index 100% rename from 3rdPart/include/opencv2/line_descriptor.hpp rename to 3rdparty/include/opencv2/line_descriptor.hpp diff --git a/3rdPart/include/opencv2/line_descriptor/descriptor.hpp b/3rdparty/include/opencv2/line_descriptor/descriptor.hpp similarity index 100% rename from 3rdPart/include/opencv2/line_descriptor/descriptor.hpp rename to 3rdparty/include/opencv2/line_descriptor/descriptor.hpp diff --git a/3rdPart/include/opencv2/ml.hpp b/3rdparty/include/opencv2/ml.hpp similarity index 100% rename from 3rdPart/include/opencv2/ml.hpp rename to 3rdparty/include/opencv2/ml.hpp diff --git a/3rdPart/include/opencv2/ml/ml.hpp b/3rdparty/include/opencv2/ml/ml.hpp similarity index 100% rename from 3rdPart/include/opencv2/ml/ml.hpp rename to 3rdparty/include/opencv2/ml/ml.hpp diff --git a/3rdPart/include/opencv2/ml/ml.inl.hpp b/3rdparty/include/opencv2/ml/ml.inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/ml/ml.inl.hpp rename to 3rdparty/include/opencv2/ml/ml.inl.hpp diff --git a/3rdPart/include/opencv2/objdetect.hpp b/3rdparty/include/opencv2/objdetect.hpp similarity index 100% rename from 3rdPart/include/opencv2/objdetect.hpp rename to 3rdparty/include/opencv2/objdetect.hpp diff --git a/3rdPart/include/opencv2/objdetect/detection_based_tracker.hpp b/3rdparty/include/opencv2/objdetect/detection_based_tracker.hpp similarity index 100% rename from 3rdPart/include/opencv2/objdetect/detection_based_tracker.hpp rename to 3rdparty/include/opencv2/objdetect/detection_based_tracker.hpp diff --git a/3rdPart/include/opencv2/objdetect/objdetect.hpp b/3rdparty/include/opencv2/objdetect/objdetect.hpp similarity index 100% rename from 3rdPart/include/opencv2/objdetect/objdetect.hpp rename to 3rdparty/include/opencv2/objdetect/objdetect.hpp diff --git a/3rdPart/include/opencv2/objdetect/objdetect_c.h b/3rdparty/include/opencv2/objdetect/objdetect_c.h similarity index 100% rename from 3rdPart/include/opencv2/objdetect/objdetect_c.h rename to 3rdparty/include/opencv2/objdetect/objdetect_c.h diff --git a/3rdPart/include/opencv2/opencv.hpp b/3rdparty/include/opencv2/opencv.hpp similarity index 100% rename from 3rdPart/include/opencv2/opencv.hpp rename to 3rdparty/include/opencv2/opencv.hpp diff --git a/3rdPart/include/opencv2/opencv_modules.hpp b/3rdparty/include/opencv2/opencv_modules.hpp similarity index 100% rename from 3rdPart/include/opencv2/opencv_modules.hpp rename to 3rdparty/include/opencv2/opencv_modules.hpp diff --git a/3rdPart/include/opencv2/optflow.hpp b/3rdparty/include/opencv2/optflow.hpp similarity index 100% rename from 3rdPart/include/opencv2/optflow.hpp rename to 3rdparty/include/opencv2/optflow.hpp diff --git a/3rdPart/include/opencv2/optflow/motempl.hpp b/3rdparty/include/opencv2/optflow/motempl.hpp similarity index 100% rename from 3rdPart/include/opencv2/optflow/motempl.hpp rename to 3rdparty/include/opencv2/optflow/motempl.hpp diff --git a/3rdPart/include/opencv2/optflow/pcaflow.hpp b/3rdparty/include/opencv2/optflow/pcaflow.hpp similarity index 100% rename from 3rdPart/include/opencv2/optflow/pcaflow.hpp rename to 3rdparty/include/opencv2/optflow/pcaflow.hpp diff --git a/3rdPart/include/opencv2/optflow/sparse_matching_gpc.hpp b/3rdparty/include/opencv2/optflow/sparse_matching_gpc.hpp similarity index 100% rename from 3rdPart/include/opencv2/optflow/sparse_matching_gpc.hpp rename to 3rdparty/include/opencv2/optflow/sparse_matching_gpc.hpp diff --git a/3rdPart/include/opencv2/phase_unwrapping.hpp b/3rdparty/include/opencv2/phase_unwrapping.hpp similarity index 100% rename from 3rdPart/include/opencv2/phase_unwrapping.hpp rename to 3rdparty/include/opencv2/phase_unwrapping.hpp diff --git a/3rdPart/include/opencv2/phase_unwrapping/histogramphaseunwrapping.hpp b/3rdparty/include/opencv2/phase_unwrapping/histogramphaseunwrapping.hpp similarity index 100% rename from 3rdPart/include/opencv2/phase_unwrapping/histogramphaseunwrapping.hpp rename to 3rdparty/include/opencv2/phase_unwrapping/histogramphaseunwrapping.hpp diff --git a/3rdPart/include/opencv2/phase_unwrapping/phase_unwrapping.hpp b/3rdparty/include/opencv2/phase_unwrapping/phase_unwrapping.hpp similarity index 100% rename from 3rdPart/include/opencv2/phase_unwrapping/phase_unwrapping.hpp rename to 3rdparty/include/opencv2/phase_unwrapping/phase_unwrapping.hpp diff --git a/3rdPart/include/opencv2/photo.hpp b/3rdparty/include/opencv2/photo.hpp similarity index 100% rename from 3rdPart/include/opencv2/photo.hpp rename to 3rdparty/include/opencv2/photo.hpp diff --git a/3rdPart/include/opencv2/photo/cuda.hpp b/3rdparty/include/opencv2/photo/cuda.hpp similarity index 100% rename from 3rdPart/include/opencv2/photo/cuda.hpp rename to 3rdparty/include/opencv2/photo/cuda.hpp diff --git a/3rdPart/include/opencv2/photo/photo.hpp b/3rdparty/include/opencv2/photo/photo.hpp similarity index 100% rename from 3rdPart/include/opencv2/photo/photo.hpp rename to 3rdparty/include/opencv2/photo/photo.hpp diff --git a/3rdPart/include/opencv2/photo/photo_c.h b/3rdparty/include/opencv2/photo/photo_c.h similarity index 100% rename from 3rdPart/include/opencv2/photo/photo_c.h rename to 3rdparty/include/opencv2/photo/photo_c.h diff --git a/3rdPart/include/opencv2/plot.hpp b/3rdparty/include/opencv2/plot.hpp similarity index 100% rename from 3rdPart/include/opencv2/plot.hpp rename to 3rdparty/include/opencv2/plot.hpp diff --git a/3rdPart/include/opencv2/reg/map.hpp b/3rdparty/include/opencv2/reg/map.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/map.hpp rename to 3rdparty/include/opencv2/reg/map.hpp diff --git a/3rdPart/include/opencv2/reg/mapaffine.hpp b/3rdparty/include/opencv2/reg/mapaffine.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mapaffine.hpp rename to 3rdparty/include/opencv2/reg/mapaffine.hpp diff --git a/3rdPart/include/opencv2/reg/mapper.hpp b/3rdparty/include/opencv2/reg/mapper.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mapper.hpp rename to 3rdparty/include/opencv2/reg/mapper.hpp diff --git a/3rdPart/include/opencv2/reg/mappergradaffine.hpp b/3rdparty/include/opencv2/reg/mappergradaffine.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mappergradaffine.hpp rename to 3rdparty/include/opencv2/reg/mappergradaffine.hpp diff --git a/3rdPart/include/opencv2/reg/mappergradeuclid.hpp b/3rdparty/include/opencv2/reg/mappergradeuclid.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mappergradeuclid.hpp rename to 3rdparty/include/opencv2/reg/mappergradeuclid.hpp diff --git a/3rdPart/include/opencv2/reg/mappergradproj.hpp b/3rdparty/include/opencv2/reg/mappergradproj.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mappergradproj.hpp rename to 3rdparty/include/opencv2/reg/mappergradproj.hpp diff --git a/3rdPart/include/opencv2/reg/mappergradshift.hpp b/3rdparty/include/opencv2/reg/mappergradshift.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mappergradshift.hpp rename to 3rdparty/include/opencv2/reg/mappergradshift.hpp diff --git a/3rdPart/include/opencv2/reg/mappergradsimilar.hpp b/3rdparty/include/opencv2/reg/mappergradsimilar.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mappergradsimilar.hpp rename to 3rdparty/include/opencv2/reg/mappergradsimilar.hpp diff --git a/3rdPart/include/opencv2/reg/mapperpyramid.hpp b/3rdparty/include/opencv2/reg/mapperpyramid.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mapperpyramid.hpp rename to 3rdparty/include/opencv2/reg/mapperpyramid.hpp diff --git a/3rdPart/include/opencv2/reg/mapprojec.hpp b/3rdparty/include/opencv2/reg/mapprojec.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mapprojec.hpp rename to 3rdparty/include/opencv2/reg/mapprojec.hpp diff --git a/3rdPart/include/opencv2/reg/mapshift.hpp b/3rdparty/include/opencv2/reg/mapshift.hpp similarity index 100% rename from 3rdPart/include/opencv2/reg/mapshift.hpp rename to 3rdparty/include/opencv2/reg/mapshift.hpp diff --git a/3rdPart/include/opencv2/rgbd.hpp b/3rdparty/include/opencv2/rgbd.hpp similarity index 100% rename from 3rdPart/include/opencv2/rgbd.hpp rename to 3rdparty/include/opencv2/rgbd.hpp diff --git a/3rdPart/include/opencv2/rgbd/linemod.hpp b/3rdparty/include/opencv2/rgbd/linemod.hpp similarity index 100% rename from 3rdPart/include/opencv2/rgbd/linemod.hpp rename to 3rdparty/include/opencv2/rgbd/linemod.hpp diff --git a/3rdPart/include/opencv2/saliency.hpp b/3rdparty/include/opencv2/saliency.hpp similarity index 100% rename from 3rdPart/include/opencv2/saliency.hpp rename to 3rdparty/include/opencv2/saliency.hpp diff --git a/3rdPart/include/opencv2/saliency/saliencyBaseClasses.hpp b/3rdparty/include/opencv2/saliency/saliencyBaseClasses.hpp similarity index 100% rename from 3rdPart/include/opencv2/saliency/saliencyBaseClasses.hpp rename to 3rdparty/include/opencv2/saliency/saliencyBaseClasses.hpp diff --git a/3rdPart/include/opencv2/saliency/saliencySpecializedClasses.hpp b/3rdparty/include/opencv2/saliency/saliencySpecializedClasses.hpp similarity index 100% rename from 3rdPart/include/opencv2/saliency/saliencySpecializedClasses.hpp rename to 3rdparty/include/opencv2/saliency/saliencySpecializedClasses.hpp diff --git a/3rdPart/include/opencv2/shape.hpp b/3rdparty/include/opencv2/shape.hpp similarity index 100% rename from 3rdPart/include/opencv2/shape.hpp rename to 3rdparty/include/opencv2/shape.hpp diff --git a/3rdPart/include/opencv2/shape/emdL1.hpp b/3rdparty/include/opencv2/shape/emdL1.hpp similarity index 100% rename from 3rdPart/include/opencv2/shape/emdL1.hpp rename to 3rdparty/include/opencv2/shape/emdL1.hpp diff --git a/3rdPart/include/opencv2/shape/hist_cost.hpp b/3rdparty/include/opencv2/shape/hist_cost.hpp similarity index 100% rename from 3rdPart/include/opencv2/shape/hist_cost.hpp rename to 3rdparty/include/opencv2/shape/hist_cost.hpp diff --git a/3rdPart/include/opencv2/shape/shape.hpp b/3rdparty/include/opencv2/shape/shape.hpp similarity index 100% rename from 3rdPart/include/opencv2/shape/shape.hpp rename to 3rdparty/include/opencv2/shape/shape.hpp diff --git a/3rdPart/include/opencv2/shape/shape_distance.hpp b/3rdparty/include/opencv2/shape/shape_distance.hpp similarity index 100% rename from 3rdPart/include/opencv2/shape/shape_distance.hpp rename to 3rdparty/include/opencv2/shape/shape_distance.hpp diff --git a/3rdPart/include/opencv2/shape/shape_transformer.hpp b/3rdparty/include/opencv2/shape/shape_transformer.hpp similarity index 100% rename from 3rdPart/include/opencv2/shape/shape_transformer.hpp rename to 3rdparty/include/opencv2/shape/shape_transformer.hpp diff --git a/3rdPart/include/opencv2/stereo.hpp b/3rdparty/include/opencv2/stereo.hpp similarity index 100% rename from 3rdPart/include/opencv2/stereo.hpp rename to 3rdparty/include/opencv2/stereo.hpp diff --git a/3rdPart/include/opencv2/stereo/descriptor.hpp b/3rdparty/include/opencv2/stereo/descriptor.hpp similarity index 100% rename from 3rdPart/include/opencv2/stereo/descriptor.hpp rename to 3rdparty/include/opencv2/stereo/descriptor.hpp diff --git a/3rdPart/include/opencv2/stereo/stereo.hpp b/3rdparty/include/opencv2/stereo/stereo.hpp similarity index 100% rename from 3rdPart/include/opencv2/stereo/stereo.hpp rename to 3rdparty/include/opencv2/stereo/stereo.hpp diff --git a/3rdPart/include/opencv2/stitching.hpp b/3rdparty/include/opencv2/stitching.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching.hpp rename to 3rdparty/include/opencv2/stitching.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/autocalib.hpp b/3rdparty/include/opencv2/stitching/detail/autocalib.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/autocalib.hpp rename to 3rdparty/include/opencv2/stitching/detail/autocalib.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/blenders.hpp b/3rdparty/include/opencv2/stitching/detail/blenders.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/blenders.hpp rename to 3rdparty/include/opencv2/stitching/detail/blenders.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/camera.hpp b/3rdparty/include/opencv2/stitching/detail/camera.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/camera.hpp rename to 3rdparty/include/opencv2/stitching/detail/camera.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/exposure_compensate.hpp b/3rdparty/include/opencv2/stitching/detail/exposure_compensate.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/exposure_compensate.hpp rename to 3rdparty/include/opencv2/stitching/detail/exposure_compensate.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/matchers.hpp b/3rdparty/include/opencv2/stitching/detail/matchers.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/matchers.hpp rename to 3rdparty/include/opencv2/stitching/detail/matchers.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/motion_estimators.hpp b/3rdparty/include/opencv2/stitching/detail/motion_estimators.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/motion_estimators.hpp rename to 3rdparty/include/opencv2/stitching/detail/motion_estimators.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/seam_finders.hpp b/3rdparty/include/opencv2/stitching/detail/seam_finders.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/seam_finders.hpp rename to 3rdparty/include/opencv2/stitching/detail/seam_finders.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/timelapsers.hpp b/3rdparty/include/opencv2/stitching/detail/timelapsers.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/timelapsers.hpp rename to 3rdparty/include/opencv2/stitching/detail/timelapsers.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/util.hpp b/3rdparty/include/opencv2/stitching/detail/util.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/util.hpp rename to 3rdparty/include/opencv2/stitching/detail/util.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/util_inl.hpp b/3rdparty/include/opencv2/stitching/detail/util_inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/util_inl.hpp rename to 3rdparty/include/opencv2/stitching/detail/util_inl.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/warpers.hpp b/3rdparty/include/opencv2/stitching/detail/warpers.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/warpers.hpp rename to 3rdparty/include/opencv2/stitching/detail/warpers.hpp diff --git a/3rdPart/include/opencv2/stitching/detail/warpers_inl.hpp b/3rdparty/include/opencv2/stitching/detail/warpers_inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/detail/warpers_inl.hpp rename to 3rdparty/include/opencv2/stitching/detail/warpers_inl.hpp diff --git a/3rdPart/include/opencv2/stitching/warpers.hpp b/3rdparty/include/opencv2/stitching/warpers.hpp similarity index 100% rename from 3rdPart/include/opencv2/stitching/warpers.hpp rename to 3rdparty/include/opencv2/stitching/warpers.hpp diff --git a/3rdPart/include/opencv2/structured_light.hpp b/3rdparty/include/opencv2/structured_light.hpp similarity index 100% rename from 3rdPart/include/opencv2/structured_light.hpp rename to 3rdparty/include/opencv2/structured_light.hpp diff --git a/3rdPart/include/opencv2/structured_light/graycodepattern.hpp b/3rdparty/include/opencv2/structured_light/graycodepattern.hpp similarity index 100% rename from 3rdPart/include/opencv2/structured_light/graycodepattern.hpp rename to 3rdparty/include/opencv2/structured_light/graycodepattern.hpp diff --git a/3rdPart/include/opencv2/structured_light/sinusoidalpattern.hpp b/3rdparty/include/opencv2/structured_light/sinusoidalpattern.hpp similarity index 100% rename from 3rdPart/include/opencv2/structured_light/sinusoidalpattern.hpp rename to 3rdparty/include/opencv2/structured_light/sinusoidalpattern.hpp diff --git a/3rdPart/include/opencv2/structured_light/structured_light.hpp b/3rdparty/include/opencv2/structured_light/structured_light.hpp similarity index 100% rename from 3rdPart/include/opencv2/structured_light/structured_light.hpp rename to 3rdparty/include/opencv2/structured_light/structured_light.hpp diff --git a/3rdPart/include/opencv2/superres.hpp b/3rdparty/include/opencv2/superres.hpp similarity index 100% rename from 3rdPart/include/opencv2/superres.hpp rename to 3rdparty/include/opencv2/superres.hpp diff --git a/3rdPart/include/opencv2/superres/optical_flow.hpp b/3rdparty/include/opencv2/superres/optical_flow.hpp similarity index 100% rename from 3rdPart/include/opencv2/superres/optical_flow.hpp rename to 3rdparty/include/opencv2/superres/optical_flow.hpp diff --git a/3rdPart/include/opencv2/surface_matching.hpp b/3rdparty/include/opencv2/surface_matching.hpp similarity index 100% rename from 3rdPart/include/opencv2/surface_matching.hpp rename to 3rdparty/include/opencv2/surface_matching.hpp diff --git a/3rdPart/include/opencv2/surface_matching/icp.hpp b/3rdparty/include/opencv2/surface_matching/icp.hpp similarity index 100% rename from 3rdPart/include/opencv2/surface_matching/icp.hpp rename to 3rdparty/include/opencv2/surface_matching/icp.hpp diff --git a/3rdPart/include/opencv2/surface_matching/pose_3d.hpp b/3rdparty/include/opencv2/surface_matching/pose_3d.hpp similarity index 100% rename from 3rdPart/include/opencv2/surface_matching/pose_3d.hpp rename to 3rdparty/include/opencv2/surface_matching/pose_3d.hpp diff --git a/3rdPart/include/opencv2/surface_matching/ppf_helpers.hpp b/3rdparty/include/opencv2/surface_matching/ppf_helpers.hpp similarity index 100% rename from 3rdPart/include/opencv2/surface_matching/ppf_helpers.hpp rename to 3rdparty/include/opencv2/surface_matching/ppf_helpers.hpp diff --git a/3rdPart/include/opencv2/surface_matching/ppf_match_3d.hpp b/3rdparty/include/opencv2/surface_matching/ppf_match_3d.hpp similarity index 100% rename from 3rdPart/include/opencv2/surface_matching/ppf_match_3d.hpp rename to 3rdparty/include/opencv2/surface_matching/ppf_match_3d.hpp diff --git a/3rdPart/include/opencv2/surface_matching/t_hash_int.hpp b/3rdparty/include/opencv2/surface_matching/t_hash_int.hpp similarity index 100% rename from 3rdPart/include/opencv2/surface_matching/t_hash_int.hpp rename to 3rdparty/include/opencv2/surface_matching/t_hash_int.hpp diff --git a/3rdPart/include/opencv2/text.hpp b/3rdparty/include/opencv2/text.hpp similarity index 100% rename from 3rdPart/include/opencv2/text.hpp rename to 3rdparty/include/opencv2/text.hpp diff --git a/3rdPart/include/opencv2/text/erfilter.hpp b/3rdparty/include/opencv2/text/erfilter.hpp similarity index 100% rename from 3rdPart/include/opencv2/text/erfilter.hpp rename to 3rdparty/include/opencv2/text/erfilter.hpp diff --git a/3rdPart/include/opencv2/text/ocr.hpp b/3rdparty/include/opencv2/text/ocr.hpp similarity index 100% rename from 3rdPart/include/opencv2/text/ocr.hpp rename to 3rdparty/include/opencv2/text/ocr.hpp diff --git a/3rdPart/include/opencv2/text/textDetector.hpp b/3rdparty/include/opencv2/text/textDetector.hpp similarity index 100% rename from 3rdPart/include/opencv2/text/textDetector.hpp rename to 3rdparty/include/opencv2/text/textDetector.hpp diff --git a/3rdPart/include/opencv2/tracking.hpp b/3rdparty/include/opencv2/tracking.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking.hpp rename to 3rdparty/include/opencv2/tracking.hpp diff --git a/3rdPart/include/opencv2/tracking/feature.hpp b/3rdparty/include/opencv2/tracking/feature.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking/feature.hpp rename to 3rdparty/include/opencv2/tracking/feature.hpp diff --git a/3rdPart/include/opencv2/tracking/kalman_filters.hpp b/3rdparty/include/opencv2/tracking/kalman_filters.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking/kalman_filters.hpp rename to 3rdparty/include/opencv2/tracking/kalman_filters.hpp diff --git a/3rdPart/include/opencv2/tracking/onlineBoosting.hpp b/3rdparty/include/opencv2/tracking/onlineBoosting.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking/onlineBoosting.hpp rename to 3rdparty/include/opencv2/tracking/onlineBoosting.hpp diff --git a/3rdPart/include/opencv2/tracking/onlineMIL.hpp b/3rdparty/include/opencv2/tracking/onlineMIL.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking/onlineMIL.hpp rename to 3rdparty/include/opencv2/tracking/onlineMIL.hpp diff --git a/3rdPart/include/opencv2/tracking/tldDataset.hpp b/3rdparty/include/opencv2/tracking/tldDataset.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking/tldDataset.hpp rename to 3rdparty/include/opencv2/tracking/tldDataset.hpp diff --git a/3rdPart/include/opencv2/tracking/tracker.hpp b/3rdparty/include/opencv2/tracking/tracker.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking/tracker.hpp rename to 3rdparty/include/opencv2/tracking/tracker.hpp diff --git a/3rdPart/include/opencv2/tracking/tracking.hpp b/3rdparty/include/opencv2/tracking/tracking.hpp similarity index 100% rename from 3rdPart/include/opencv2/tracking/tracking.hpp rename to 3rdparty/include/opencv2/tracking/tracking.hpp diff --git a/3rdPart/include/opencv2/video.hpp b/3rdparty/include/opencv2/video.hpp similarity index 100% rename from 3rdPart/include/opencv2/video.hpp rename to 3rdparty/include/opencv2/video.hpp diff --git a/3rdPart/include/opencv2/video/background_segm.hpp b/3rdparty/include/opencv2/video/background_segm.hpp similarity index 100% rename from 3rdPart/include/opencv2/video/background_segm.hpp rename to 3rdparty/include/opencv2/video/background_segm.hpp diff --git a/3rdPart/include/opencv2/video/tracking.hpp b/3rdparty/include/opencv2/video/tracking.hpp similarity index 100% rename from 3rdPart/include/opencv2/video/tracking.hpp rename to 3rdparty/include/opencv2/video/tracking.hpp diff --git a/3rdPart/include/opencv2/video/tracking_c.h b/3rdparty/include/opencv2/video/tracking_c.h similarity index 100% rename from 3rdPart/include/opencv2/video/tracking_c.h rename to 3rdparty/include/opencv2/video/tracking_c.h diff --git a/3rdPart/include/opencv2/video/video.hpp b/3rdparty/include/opencv2/video/video.hpp similarity index 100% rename from 3rdPart/include/opencv2/video/video.hpp rename to 3rdparty/include/opencv2/video/video.hpp diff --git a/3rdPart/include/opencv2/videoio.hpp b/3rdparty/include/opencv2/videoio.hpp similarity index 100% rename from 3rdPart/include/opencv2/videoio.hpp rename to 3rdparty/include/opencv2/videoio.hpp diff --git a/3rdPart/include/opencv2/videoio/cap_ios.h b/3rdparty/include/opencv2/videoio/cap_ios.h similarity index 100% rename from 3rdPart/include/opencv2/videoio/cap_ios.h rename to 3rdparty/include/opencv2/videoio/cap_ios.h diff --git a/3rdPart/include/opencv2/videoio/registry.hpp b/3rdparty/include/opencv2/videoio/registry.hpp similarity index 100% rename from 3rdPart/include/opencv2/videoio/registry.hpp rename to 3rdparty/include/opencv2/videoio/registry.hpp diff --git a/3rdPart/include/opencv2/videoio/videoio.hpp b/3rdparty/include/opencv2/videoio/videoio.hpp similarity index 100% rename from 3rdPart/include/opencv2/videoio/videoio.hpp rename to 3rdparty/include/opencv2/videoio/videoio.hpp diff --git a/3rdPart/include/opencv2/videoio/videoio_c.h b/3rdparty/include/opencv2/videoio/videoio_c.h similarity index 100% rename from 3rdPart/include/opencv2/videoio/videoio_c.h rename to 3rdparty/include/opencv2/videoio/videoio_c.h diff --git a/3rdPart/include/opencv2/videostab.hpp b/3rdparty/include/opencv2/videostab.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab.hpp rename to 3rdparty/include/opencv2/videostab.hpp diff --git a/3rdPart/include/opencv2/videostab/deblurring.hpp b/3rdparty/include/opencv2/videostab/deblurring.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/deblurring.hpp rename to 3rdparty/include/opencv2/videostab/deblurring.hpp diff --git a/3rdPart/include/opencv2/videostab/fast_marching.hpp b/3rdparty/include/opencv2/videostab/fast_marching.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/fast_marching.hpp rename to 3rdparty/include/opencv2/videostab/fast_marching.hpp diff --git a/3rdPart/include/opencv2/videostab/fast_marching_inl.hpp b/3rdparty/include/opencv2/videostab/fast_marching_inl.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/fast_marching_inl.hpp rename to 3rdparty/include/opencv2/videostab/fast_marching_inl.hpp diff --git a/3rdPart/include/opencv2/videostab/frame_source.hpp b/3rdparty/include/opencv2/videostab/frame_source.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/frame_source.hpp rename to 3rdparty/include/opencv2/videostab/frame_source.hpp diff --git a/3rdPart/include/opencv2/videostab/global_motion.hpp b/3rdparty/include/opencv2/videostab/global_motion.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/global_motion.hpp rename to 3rdparty/include/opencv2/videostab/global_motion.hpp diff --git a/3rdPart/include/opencv2/videostab/inpainting.hpp b/3rdparty/include/opencv2/videostab/inpainting.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/inpainting.hpp rename to 3rdparty/include/opencv2/videostab/inpainting.hpp diff --git a/3rdPart/include/opencv2/videostab/log.hpp b/3rdparty/include/opencv2/videostab/log.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/log.hpp rename to 3rdparty/include/opencv2/videostab/log.hpp diff --git a/3rdPart/include/opencv2/videostab/motion_core.hpp b/3rdparty/include/opencv2/videostab/motion_core.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/motion_core.hpp rename to 3rdparty/include/opencv2/videostab/motion_core.hpp diff --git a/3rdPart/include/opencv2/videostab/motion_stabilizing.hpp b/3rdparty/include/opencv2/videostab/motion_stabilizing.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/motion_stabilizing.hpp rename to 3rdparty/include/opencv2/videostab/motion_stabilizing.hpp diff --git a/3rdPart/include/opencv2/videostab/optical_flow.hpp b/3rdparty/include/opencv2/videostab/optical_flow.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/optical_flow.hpp rename to 3rdparty/include/opencv2/videostab/optical_flow.hpp diff --git a/3rdPart/include/opencv2/videostab/outlier_rejection.hpp b/3rdparty/include/opencv2/videostab/outlier_rejection.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/outlier_rejection.hpp rename to 3rdparty/include/opencv2/videostab/outlier_rejection.hpp diff --git a/3rdPart/include/opencv2/videostab/ring_buffer.hpp b/3rdparty/include/opencv2/videostab/ring_buffer.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/ring_buffer.hpp rename to 3rdparty/include/opencv2/videostab/ring_buffer.hpp diff --git a/3rdPart/include/opencv2/videostab/stabilizer.hpp b/3rdparty/include/opencv2/videostab/stabilizer.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/stabilizer.hpp rename to 3rdparty/include/opencv2/videostab/stabilizer.hpp diff --git a/3rdPart/include/opencv2/videostab/wobble_suppression.hpp b/3rdparty/include/opencv2/videostab/wobble_suppression.hpp similarity index 100% rename from 3rdPart/include/opencv2/videostab/wobble_suppression.hpp rename to 3rdparty/include/opencv2/videostab/wobble_suppression.hpp diff --git a/3rdPart/include/opencv2/world.hpp b/3rdparty/include/opencv2/world.hpp similarity index 100% rename from 3rdPart/include/opencv2/world.hpp rename to 3rdparty/include/opencv2/world.hpp diff --git a/3rdPart/include/opencv2/xfeatures2d.hpp b/3rdparty/include/opencv2/xfeatures2d.hpp similarity index 100% rename from 3rdPart/include/opencv2/xfeatures2d.hpp rename to 3rdparty/include/opencv2/xfeatures2d.hpp diff --git a/3rdPart/include/opencv2/xfeatures2d/cuda.hpp b/3rdparty/include/opencv2/xfeatures2d/cuda.hpp similarity index 100% rename from 3rdPart/include/opencv2/xfeatures2d/cuda.hpp rename to 3rdparty/include/opencv2/xfeatures2d/cuda.hpp diff --git a/3rdPart/include/opencv2/xfeatures2d/nonfree.hpp b/3rdparty/include/opencv2/xfeatures2d/nonfree.hpp similarity index 100% rename from 3rdPart/include/opencv2/xfeatures2d/nonfree.hpp rename to 3rdparty/include/opencv2/xfeatures2d/nonfree.hpp diff --git a/3rdPart/include/opencv2/ximgproc.hpp b/3rdparty/include/opencv2/ximgproc.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc.hpp rename to 3rdparty/include/opencv2/ximgproc.hpp diff --git a/3rdPart/include/opencv2/ximgproc/brightedges.hpp b/3rdparty/include/opencv2/ximgproc/brightedges.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/brightedges.hpp rename to 3rdparty/include/opencv2/ximgproc/brightedges.hpp diff --git a/3rdPart/include/opencv2/ximgproc/deriche_filter.hpp b/3rdparty/include/opencv2/ximgproc/deriche_filter.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/deriche_filter.hpp rename to 3rdparty/include/opencv2/ximgproc/deriche_filter.hpp diff --git a/3rdPart/include/opencv2/ximgproc/disparity_filter.hpp b/3rdparty/include/opencv2/ximgproc/disparity_filter.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/disparity_filter.hpp rename to 3rdparty/include/opencv2/ximgproc/disparity_filter.hpp diff --git a/3rdPart/include/opencv2/ximgproc/edge_filter.hpp b/3rdparty/include/opencv2/ximgproc/edge_filter.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/edge_filter.hpp rename to 3rdparty/include/opencv2/ximgproc/edge_filter.hpp diff --git a/3rdPart/include/opencv2/ximgproc/edgeboxes.hpp b/3rdparty/include/opencv2/ximgproc/edgeboxes.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/edgeboxes.hpp rename to 3rdparty/include/opencv2/ximgproc/edgeboxes.hpp diff --git a/3rdPart/include/opencv2/ximgproc/estimated_covariance.hpp b/3rdparty/include/opencv2/ximgproc/estimated_covariance.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/estimated_covariance.hpp rename to 3rdparty/include/opencv2/ximgproc/estimated_covariance.hpp diff --git a/3rdPart/include/opencv2/ximgproc/fast_hough_transform.hpp b/3rdparty/include/opencv2/ximgproc/fast_hough_transform.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/fast_hough_transform.hpp rename to 3rdparty/include/opencv2/ximgproc/fast_hough_transform.hpp diff --git a/3rdPart/include/opencv2/ximgproc/fast_line_detector.hpp b/3rdparty/include/opencv2/ximgproc/fast_line_detector.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/fast_line_detector.hpp rename to 3rdparty/include/opencv2/ximgproc/fast_line_detector.hpp diff --git a/3rdPart/include/opencv2/ximgproc/fourier_descriptors.hpp b/3rdparty/include/opencv2/ximgproc/fourier_descriptors.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/fourier_descriptors.hpp rename to 3rdparty/include/opencv2/ximgproc/fourier_descriptors.hpp diff --git a/3rdPart/include/opencv2/ximgproc/lsc.hpp b/3rdparty/include/opencv2/ximgproc/lsc.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/lsc.hpp rename to 3rdparty/include/opencv2/ximgproc/lsc.hpp diff --git a/3rdPart/include/opencv2/ximgproc/paillou_filter.hpp b/3rdparty/include/opencv2/ximgproc/paillou_filter.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/paillou_filter.hpp rename to 3rdparty/include/opencv2/ximgproc/paillou_filter.hpp diff --git a/3rdPart/include/opencv2/ximgproc/peilin.hpp b/3rdparty/include/opencv2/ximgproc/peilin.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/peilin.hpp rename to 3rdparty/include/opencv2/ximgproc/peilin.hpp diff --git a/3rdPart/include/opencv2/ximgproc/ridgefilter.hpp b/3rdparty/include/opencv2/ximgproc/ridgefilter.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/ridgefilter.hpp rename to 3rdparty/include/opencv2/ximgproc/ridgefilter.hpp diff --git a/3rdPart/include/opencv2/ximgproc/seeds.hpp b/3rdparty/include/opencv2/ximgproc/seeds.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/seeds.hpp rename to 3rdparty/include/opencv2/ximgproc/seeds.hpp diff --git a/3rdPart/include/opencv2/ximgproc/segmentation.hpp b/3rdparty/include/opencv2/ximgproc/segmentation.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/segmentation.hpp rename to 3rdparty/include/opencv2/ximgproc/segmentation.hpp diff --git a/3rdPart/include/opencv2/ximgproc/slic.hpp b/3rdparty/include/opencv2/ximgproc/slic.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/slic.hpp rename to 3rdparty/include/opencv2/ximgproc/slic.hpp diff --git a/3rdPart/include/opencv2/ximgproc/sparse_match_interpolator.hpp b/3rdparty/include/opencv2/ximgproc/sparse_match_interpolator.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/sparse_match_interpolator.hpp rename to 3rdparty/include/opencv2/ximgproc/sparse_match_interpolator.hpp diff --git a/3rdPart/include/opencv2/ximgproc/structured_edge_detection.hpp b/3rdparty/include/opencv2/ximgproc/structured_edge_detection.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/structured_edge_detection.hpp rename to 3rdparty/include/opencv2/ximgproc/structured_edge_detection.hpp diff --git a/3rdPart/include/opencv2/ximgproc/weighted_median_filter.hpp b/3rdparty/include/opencv2/ximgproc/weighted_median_filter.hpp similarity index 100% rename from 3rdPart/include/opencv2/ximgproc/weighted_median_filter.hpp rename to 3rdparty/include/opencv2/ximgproc/weighted_median_filter.hpp diff --git a/3rdPart/include/opencv2/xobjdetect.hpp b/3rdparty/include/opencv2/xobjdetect.hpp similarity index 100% rename from 3rdPart/include/opencv2/xobjdetect.hpp rename to 3rdparty/include/opencv2/xobjdetect.hpp diff --git a/3rdPart/include/opencv2/xphoto.hpp b/3rdparty/include/opencv2/xphoto.hpp similarity index 100% rename from 3rdPart/include/opencv2/xphoto.hpp rename to 3rdparty/include/opencv2/xphoto.hpp diff --git a/3rdPart/include/opencv2/xphoto/bm3d_image_denoising.hpp b/3rdparty/include/opencv2/xphoto/bm3d_image_denoising.hpp similarity index 100% rename from 3rdPart/include/opencv2/xphoto/bm3d_image_denoising.hpp rename to 3rdparty/include/opencv2/xphoto/bm3d_image_denoising.hpp diff --git a/3rdPart/include/opencv2/xphoto/dct_image_denoising.hpp b/3rdparty/include/opencv2/xphoto/dct_image_denoising.hpp similarity index 100% rename from 3rdPart/include/opencv2/xphoto/dct_image_denoising.hpp rename to 3rdparty/include/opencv2/xphoto/dct_image_denoising.hpp diff --git a/3rdPart/include/opencv2/xphoto/inpainting.hpp b/3rdparty/include/opencv2/xphoto/inpainting.hpp similarity index 100% rename from 3rdPart/include/opencv2/xphoto/inpainting.hpp rename to 3rdparty/include/opencv2/xphoto/inpainting.hpp diff --git a/3rdPart/include/opencv2/xphoto/tonemap.hpp b/3rdparty/include/opencv2/xphoto/tonemap.hpp similarity index 100% rename from 3rdPart/include/opencv2/xphoto/tonemap.hpp rename to 3rdparty/include/opencv2/xphoto/tonemap.hpp diff --git a/3rdPart/include/opencv2/xphoto/white_balance.hpp b/3rdparty/include/opencv2/xphoto/white_balance.hpp similarity index 100% rename from 3rdPart/include/opencv2/xphoto/white_balance.hpp rename to 3rdparty/include/opencv2/xphoto/white_balance.hpp diff --git a/3rdPart/lib/OcrLiteOnnx.lib b/3rdparty/lib/OcrLiteOnnx.lib similarity index 100% rename from 3rdPart/lib/OcrLiteOnnx.lib rename to 3rdparty/lib/OcrLiteOnnx.lib diff --git a/3rdPart/lib/libmeojson.lib b/3rdparty/lib/libmeojson.lib similarity index 100% rename from 3rdPart/lib/libmeojson.lib rename to 3rdparty/lib/libmeojson.lib diff --git a/3rdPart/lib/opencv_world3413.lib b/3rdparty/lib/opencv_world3413.lib similarity index 100% rename from 3rdPart/lib/opencv_world3413.lib rename to 3rdparty/lib/opencv_world3413.lib diff --git a/3rdPart/resource/OcrLiteOnnx/models/angle_net.onnx b/3rdparty/resource/OcrLiteOnnx/models/angle_net.onnx similarity index 100% rename from 3rdPart/resource/OcrLiteOnnx/models/angle_net.onnx rename to 3rdparty/resource/OcrLiteOnnx/models/angle_net.onnx diff --git a/3rdPart/resource/OcrLiteOnnx/models/crnn_lite_lstm.onnx b/3rdparty/resource/OcrLiteOnnx/models/crnn_lite_lstm.onnx similarity index 100% rename from 3rdPart/resource/OcrLiteOnnx/models/crnn_lite_lstm.onnx rename to 3rdparty/resource/OcrLiteOnnx/models/crnn_lite_lstm.onnx diff --git a/3rdPart/resource/OcrLiteOnnx/models/dbnet.onnx b/3rdparty/resource/OcrLiteOnnx/models/dbnet.onnx similarity index 100% rename from 3rdPart/resource/OcrLiteOnnx/models/dbnet.onnx rename to 3rdparty/resource/OcrLiteOnnx/models/dbnet.onnx diff --git a/3rdPart/resource/OcrLiteOnnx/models/keys.txt b/3rdparty/resource/OcrLiteOnnx/models/keys.txt similarity index 100% rename from 3rdPart/resource/OcrLiteOnnx/models/keys.txt rename to 3rdparty/resource/OcrLiteOnnx/models/keys.txt diff --git a/MeoAssistance.sln b/MeoAssistance.sln index 4bfe51325f..db9d7bcf95 100644 --- a/MeoAssistance.sln +++ b/MeoAssistance.sln @@ -3,47 +3,56 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30717.126 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MeoAssistance", "MeoAssistance\MeoAssistance.vcxproj", "{362D1E30-F5AE-4279-9985-65C27B3BA300}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MeoAssistance", "src\MeoAssistance\MeoAssistance.vcxproj", "{362D1E30-F5AE-4279-9985-65C27B3BA300}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Sanity", "Tools\Sanity\Sanity.vcxproj", "{36BC08F3-71CF-429A-AE69-291BE8962CB2}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Sanity", "tools\Sanity\Sanity.vcxproj", "{36BC08F3-71CF-429A-AE69-291BE8962CB2}" ProjectSection(ProjectDependencies) = postProject {362D1E30-F5AE-4279-9985-65C27B3BA300} = {362D1E30-F5AE-4279-9985-65C27B3BA300} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MeoAsstGui", "MeoAsstGui\MeoAsstGui.csproj", "{FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{6C4B8D52-51D1-45F8-AAEC-808035443FD6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCaller", "tools\TestCaller\TestCaller.vcxproj", "{63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}" ProjectSection(ProjectDependencies) = postProject {362D1E30-F5AE-4279-9985-65C27B3BA300} = {362D1E30-F5AE-4279-9985-65C27B3BA300} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{6C4B8D52-51D1-45F8-AAEC-808035443FD6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCaller", "Tools\TestCaller\TestCaller.vcxproj", "{63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}" - ProjectSection(ProjectDependencies) = postProject - {362D1E30-F5AE-4279-9985-65C27B3BA300} = {362D1E30-F5AE-4279-9985-65C27B3BA300} - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MeoAsstGui", "src\MeoAsstGui\MeoAsstGui.csproj", "{FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 + RelWithDebInfo|Any CPU = RelWithDebInfo|Any CPU RelWithDebInfo|x64 = RelWithDebInfo|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {362D1E30-F5AE-4279-9985-65C27B3BA300}.Release|Any CPU.ActiveCfg = Release|x64 {362D1E30-F5AE-4279-9985-65C27B3BA300}.Release|x64.ActiveCfg = Release|x64 {362D1E30-F5AE-4279-9985-65C27B3BA300}.Release|x64.Build.0 = Release|x64 + {362D1E30-F5AE-4279-9985-65C27B3BA300}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64 {362D1E30-F5AE-4279-9985-65C27B3BA300}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 {362D1E30-F5AE-4279-9985-65C27B3BA300}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {36BC08F3-71CF-429A-AE69-291BE8962CB2}.Release|Any CPU.ActiveCfg = Release|x64 {36BC08F3-71CF-429A-AE69-291BE8962CB2}.Release|x64.ActiveCfg = Release|x64 {36BC08F3-71CF-429A-AE69-291BE8962CB2}.Release|x64.Build.0 = Release|x64 + {36BC08F3-71CF-429A-AE69-291BE8962CB2}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64 {36BC08F3-71CF-429A-AE69-291BE8962CB2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 {36BC08F3-71CF-429A-AE69-291BE8962CB2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.Release|x64.ActiveCfg = Release|Any CPU - {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.Release|x64.Build.0 = Release|Any CPU - {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Any CPU - {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|Any CPU + {63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}.Release|Any CPU.ActiveCfg = Release|x64 {63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}.Release|x64.ActiveCfg = Release|x64 {63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}.Release|x64.Build.0 = Release|x64 + {63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64 {63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 {63B4F1A2-291C-4C85-91E1-A1F6DAE30D64}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.Release|Any CPU.Build.0 = Release|Any CPU + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.Release|x64.ActiveCfg = Release|Any CPU + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.Release|x64.Build.0 = Release|Any CPU + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|Any CPU + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.RelWithDebInfo|Any CPU.Build.0 = RelWithDebInfo|Any CPU + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Any CPU + {FFDC8F49-8EAF-45BE-B0A8-7EF0DB9875A2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/README.md b/README.md index e67f1aa4e1..a6cb3fcd99 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ A game assistance for Arknights 一款明日方舟的游戏辅助,供PC端安卓模拟器使用,龟速开发中…… -![界面截图](readme/gui.png) -![公招截图](readme/openRecruit.png) +![界面截图](images/gui.png) +![公招截图](images/openRecruit.png) ## 下载地址 @@ -95,13 +95,13 @@ A game assistance for Arknights 刷理智、访问基建时,每次点击之前,均随机延时一定的时间,降低封号风险 该功能默认是关闭的,需要的话请手动打开:请手动修改`resource\config.json`文件中,`options`.`controlDelayRange`字段的值,格式为`[最小延时, 最大延时]`,单位为毫秒,例如想设置3~5秒的随机延时,即设置为`[ 3000, 5000]` 即可。文件保存后请重新打开程序。 -![图例](readme/controlDelayRange.png) +![图例](images/controlDelayRange.png) ### 自动截图功能 每次刷完结算界面,会自动截一张图,保存在`screenshot`文件夹中 该功能默认是打开的,不需要的话可以手动关掉:请手动修改`resource\config.json`文件中,`options`.`printWindow`字段的值,`true`是打开,`false`是关闭。文件保存后请重新打开程序。 -![图例](readme/printWindow.png) +![图例](images/printWindow.png) ## 致谢 diff --git a/Tools/TestCaller/main.cpp b/Tools/TestCaller/main.cpp index 3cf9eb249f..2bf183c0bf 100644 --- a/Tools/TestCaller/main.cpp +++ b/Tools/TestCaller/main.cpp @@ -18,8 +18,8 @@ int main(int argc, char** argv) char ch = 0; while (ch != 'q') { - //AsstStartInfrast(ptr); - AsstStartDebugTask(ptr); + AsstStartInfrast(ptr); + //AsstStartDebugTask(ptr); ch = getchar(); } diff --git a/readme/controlDelayRange.png b/images/controlDelayRange.png similarity index 100% rename from readme/controlDelayRange.png rename to images/controlDelayRange.png diff --git a/readme/gui.png b/images/gui.png similarity index 100% rename from readme/gui.png rename to images/gui.png diff --git a/readme/openRecruit.png b/images/openRecruit.png similarity index 100% rename from readme/openRecruit.png rename to images/openRecruit.png diff --git a/readme/printWindow.png b/images/printWindow.png similarity index 100% rename from readme/printWindow.png rename to images/printWindow.png diff --git a/MeoAssistance/AbstractConfiger.cpp b/src/MeoAssistance/AbstractConfiger.cpp similarity index 100% rename from MeoAssistance/AbstractConfiger.cpp rename to src/MeoAssistance/AbstractConfiger.cpp diff --git a/MeoAssistance/AbstractConfiger.h b/src/MeoAssistance/AbstractConfiger.h similarity index 100% rename from MeoAssistance/AbstractConfiger.h rename to src/MeoAssistance/AbstractConfiger.h diff --git a/MeoAssistance/AbstractTask.cpp b/src/MeoAssistance/AbstractTask.cpp similarity index 96% rename from MeoAssistance/AbstractTask.cpp rename to src/MeoAssistance/AbstractTask.cpp index 112db610b8..5280cba1ac 100644 --- a/MeoAssistance/AbstractTask.cpp +++ b/src/MeoAssistance/AbstractTask.cpp @@ -1,100 +1,100 @@ -#include "AbstractTask.h" - -#include -#include -#include - -#include - -#include "WinMacro.h" -#include "Identify.h" -#include "Configer.h" -#include "AsstAux.h" - -using namespace asst; - -AbstractTask::AbstractTask(AsstCallback callback, void* callback_arg) - :m_callback(callback), - m_callback_arg(callback_arg) -{ - ; -} - -void AbstractTask::set_ptr( - std::shared_ptr controller_ptr, - std::shared_ptr identify_ptr) -{ - m_controller_ptr = controller_ptr; - m_identify_ptr = identify_ptr; -} - -void AbstractTask::set_exit_flag(bool* exit_flag) -{ - m_exit_flag = exit_flag; -} - -bool AbstractTask::sleep(unsigned millisecond) -{ - if (need_exit()) { - return false; - } - if (millisecond == 0) { - return true; - } - auto start = std::chrono::system_clock::now(); - unsigned duration = 0; - - json::value callback_json; - callback_json["time"] = millisecond; - m_callback(AsstMsg::ReadyToSleep, callback_json, m_callback_arg); - - while (!need_exit() && duration < millisecond) { - duration = std::chrono::duration_cast( - std::chrono::system_clock::now() - start).count(); - std::this_thread::yield(); - } - m_callback(AsstMsg::EndOfSleep, callback_json, m_callback_arg); - - return !need_exit(); -} - -bool AbstractTask::print_window(const std::string& dir) -{ - const cv::Mat& image = m_controller_ptr->get_image(true); - if (image.empty()) { - return false; - } - // 现在用adb直接截图了,不用裁剪了 - //// 保存的截图额外再裁剪掉一圈,不然企鹅物流识别不出来 - //int offset = Configer::get_instance().m_options.print_window_crop_offset; - //cv::Rect rect(offset, offset, image.cols - offset * 2, image.rows - offset * 2); - - std::filesystem::create_directory(dir); - const std::string time_str = StringReplaceAll(StringReplaceAll(GetFormatTimeString(), " ", "_"), ":", "-"); - const std::string filename = dir + time_str + ".png"; - - bool ret = cv::imwrite(filename.c_str(), image); - - json::value callback_json; - callback_json["filename"] = filename; - callback_json["ret"] = ret; - callback_json["offset"] = 0; - m_callback(AsstMsg::PrintWindow, callback_json, m_callback_arg); - - return ret; -} - -bool asst::AbstractTask::need_exit() const noexcept -{ - return m_exit_flag != NULL && *m_exit_flag == true; -} - -bool asst::AbstractTask::is_ptr_inited() const noexcept -{ - if (m_controller_ptr == NULL - || m_identify_ptr == NULL) - { - return false; - } - return true; +#include "AbstractTask.h" + +#include +#include +#include + +#include + +#include "WinMacro.h" +#include "Identify.h" +#include "Configer.h" +#include "AsstAux.h" + +using namespace asst; + +AbstractTask::AbstractTask(AsstCallback callback, void* callback_arg) + :m_callback(callback), + m_callback_arg(callback_arg) +{ + ; +} + +void AbstractTask::set_ptr( + std::shared_ptr controller_ptr, + std::shared_ptr identify_ptr) +{ + m_controller_ptr = controller_ptr; + m_identify_ptr = identify_ptr; +} + +void AbstractTask::set_exit_flag(bool* exit_flag) +{ + m_exit_flag = exit_flag; +} + +bool AbstractTask::sleep(unsigned millisecond) +{ + if (need_exit()) { + return false; + } + if (millisecond == 0) { + return true; + } + auto start = std::chrono::system_clock::now(); + unsigned duration = 0; + + json::value callback_json; + callback_json["time"] = millisecond; + m_callback(AsstMsg::ReadyToSleep, callback_json, m_callback_arg); + + while (!need_exit() && duration < millisecond) { + duration = std::chrono::duration_cast( + std::chrono::system_clock::now() - start).count(); + std::this_thread::yield(); + } + m_callback(AsstMsg::EndOfSleep, callback_json, m_callback_arg); + + return !need_exit(); +} + +bool AbstractTask::print_window(const std::string& dir) +{ + const cv::Mat& image = m_controller_ptr->get_image(true); + if (image.empty()) { + return false; + } + // 现在用adb直接截图了,不用裁剪了 + //// 保存的截图额外再裁剪掉一圈,不然企鹅物流识别不出来 + //int offset = Configer::get_instance().m_options.print_window_crop_offset; + //cv::Rect rect(offset, offset, image.cols - offset * 2, image.rows - offset * 2); + + std::filesystem::create_directory(dir); + const std::string time_str = StringReplaceAll(StringReplaceAll(GetFormatTimeString(), " ", "_"), ":", "-"); + const std::string filename = dir + time_str + ".png"; + + bool ret = cv::imwrite(filename.c_str(), image); + + json::value callback_json; + callback_json["filename"] = filename; + callback_json["ret"] = ret; + callback_json["offset"] = 0; + m_callback(AsstMsg::PrintWindow, callback_json, m_callback_arg); + + return ret; +} + +bool asst::AbstractTask::need_exit() const noexcept +{ + return m_exit_flag != NULL && *m_exit_flag == true; +} + +bool asst::AbstractTask::is_ptr_inited() const noexcept +{ + if (m_controller_ptr == NULL + || m_identify_ptr == NULL) + { + return false; + } + return true; } \ No newline at end of file diff --git a/MeoAssistance/AbstractTask.h b/src/MeoAssistance/AbstractTask.h similarity index 96% rename from MeoAssistance/AbstractTask.h rename to src/MeoAssistance/AbstractTask.h index 33c390e3a3..58c36e20c7 100644 --- a/MeoAssistance/AbstractTask.h +++ b/src/MeoAssistance/AbstractTask.h @@ -1,47 +1,47 @@ -#pragma once - -#include - -#include "AsstMsg.h" - -namespace cv -{ - class Mat; -} - -namespace asst { - class WinMacro; - class Identify; - - class AbstractTask - { - public: - AbstractTask(AsstCallback callback, void* callback_arg); - virtual ~AbstractTask() = default; - AbstractTask(const AbstractTask&) = default; - AbstractTask(AbstractTask&&) = default; - - virtual void set_ptr(std::shared_ptr controller_ptr, std::shared_ptr identify_ptr); - virtual bool run() = 0; - - virtual void set_exit_flag(bool* exit_flag); - virtual void set_retry_times(int times) { m_retry_times = times; } - virtual int get_retry_times() { return m_retry_times; } - virtual void set_task_chain(std::string name) { m_task_chain = std::move(name); } - virtual const std::string& get_task_chain() { return m_task_chain; } - protected: - virtual bool sleep(unsigned millisecond); - virtual bool print_window(const std::string& dir); - virtual bool need_exit() const noexcept; - virtual bool is_ptr_inited() const noexcept; - - std::shared_ptr m_controller_ptr = nullptr; - std::shared_ptr m_identify_ptr = nullptr; - - AsstCallback m_callback; - void* m_callback_arg = NULL; - bool* m_exit_flag = NULL; - std::string m_task_chain; - int m_retry_times = INT_MAX; - }; +#pragma once + +#include + +#include "AsstMsg.h" + +namespace cv +{ + class Mat; +} + +namespace asst { + class WinMacro; + class Identify; + + class AbstractTask + { + public: + AbstractTask(AsstCallback callback, void* callback_arg); + virtual ~AbstractTask() = default; + AbstractTask(const AbstractTask&) = default; + AbstractTask(AbstractTask&&) = default; + + virtual void set_ptr(std::shared_ptr controller_ptr, std::shared_ptr identify_ptr); + virtual bool run() = 0; + + virtual void set_exit_flag(bool* exit_flag); + virtual void set_retry_times(int times) { m_retry_times = times; } + virtual int get_retry_times() { return m_retry_times; } + virtual void set_task_chain(std::string name) { m_task_chain = std::move(name); } + virtual const std::string& get_task_chain() { return m_task_chain; } + protected: + virtual bool sleep(unsigned millisecond); + virtual bool print_window(const std::string& dir); + virtual bool need_exit() const noexcept; + virtual bool is_ptr_inited() const noexcept; + + std::shared_ptr m_controller_ptr = nullptr; + std::shared_ptr m_identify_ptr = nullptr; + + AsstCallback m_callback; + void* m_callback_arg = NULL; + bool* m_exit_flag = NULL; + std::string m_task_chain; + int m_retry_times = INT_MAX; + }; } \ No newline at end of file diff --git a/MeoAssistance/Assistance.cpp b/src/MeoAssistance/Assistance.cpp similarity index 96% rename from MeoAssistance/Assistance.cpp rename to src/MeoAssistance/Assistance.cpp index a1498f281c..828aca878c 100644 --- a/MeoAssistance/Assistance.cpp +++ b/src/MeoAssistance/Assistance.cpp @@ -1,635 +1,635 @@ -#include "Assistance.h" - -#include -#include - -#include -#include - -#include "WinMacro.h" -#include "Configer.h" -#include "Identify.h" -#include "Logger.hpp" -#include "AsstAux.h" -#include "Task.h" -#include "RecruitConfiger.h" -#include "InfrastConfiger.h" - -using namespace asst; - -Assistance::Assistance(AsstCallback callback, void* callback_arg) - : m_callback(callback), m_callback_arg(callback_arg) -{ - DebugTraceFunction; - - // 检查返回值,若为false则回调错误 - auto callback_error = [&](const std::string& filename = std::string()) { - if (m_callback == nullptr) { - return; - } - json::value callback_json; - callback_json["filename"] = filename; - callback_json["what"] = "Resource"; - m_callback(AsstMsg::InitFaild, callback_json, m_callback_arg); - }; - - bool ret = Configer::get_instance().load(GetResourceDir() + "config.json"); - if (!ret) { - callback_error(); - return; - } - ret = RecruitConfiger::get_instance().load(GetResourceDir() + "recruit.json"); - if (!ret) { - callback_error(); - return; - } - ret = InfrastConfiger::get_instance().load(GetResourceDir() + "infrast.json"); - if (!ret) { - callback_error(); - return; - } - - m_identify_ptr = std::make_shared(); - for (const auto& [name, info] : Configer::get_instance().m_all_tasks_info) - { - if (info->algorithm != AlgorithmType::MatchTemplate) - { - continue; - } - std::string filename = std::dynamic_pointer_cast(info)->template_filename; - ret = m_identify_ptr->add_image(name, GetResourceDir() + "template\\" + filename); - if (!ret) { - callback_error(); - return; - } - } - for (auto& p : std::filesystem::directory_iterator(GetResourceDir() + "template\\special\\")) { - if (p.path().extension() == ".png") { - std::string filename = p.path().filename().u8string(); - std::string without_extension = filename.substr(0, filename.size() - 4); - ret = m_identify_ptr->add_image(without_extension, p.path().u8string()); - } - } - - m_identify_ptr->set_use_cache(Configer::get_instance().m_options.identify_cache); - - m_identify_ptr->set_ocr_param(Configer::get_instance().m_options.ocr_gpu_index, Configer::get_instance().m_options.ocr_thread_number); - ret = m_identify_ptr->ocr_init_models(GetResourceDir() + "OcrLiteOnnx\\models\\"); - if (!ret) { - callback_error(); - return; - } - - for (const auto& [key, name] : InfrastConfiger::get_instance().m_oper_name_feat) { - ret = m_identify_ptr->add_text_image(name, GetResourceDir() + "operators\\" + Utf8ToGbk(name) + ".png"); - if (!ret) { - callback_error(name); - return; - } - } - for (const auto& name : InfrastConfiger::get_instance().m_oper_name_feat_whatever) { - ret = m_identify_ptr->add_text_image(name, GetResourceDir() + "operators\\" + Utf8ToGbk(name) + ".png"); - if (!ret) { - callback_error(name); - return; - } - } - - m_working_thread = std::thread(working_proc, this); - m_msg_thread = std::thread(msg_proc, this); -} - -Assistance::~Assistance() -{ - DebugTraceFunction; - - //if (m_controller_ptr != nullptr) { - // m_controller_ptr->show_window(); - //} - - m_thread_exit = true; - m_thread_idle = true; - m_condvar.notify_all(); - m_msg_condvar.notify_all(); - - if (m_working_thread.joinable()) - { - m_working_thread.join(); - } - if (m_msg_thread.joinable()) - { - m_msg_thread.join(); - } -} - -std::optional Assistance::catch_emulator(const std::string& emulator_name) -{ - DebugTraceFunction; - - stop(); - - auto create_handles = [&](const EmulatorInfo& info) -> bool - { - m_controller_ptr = std::make_shared(info); - return m_controller_ptr->captured(); - }; - - bool ret = false; - std::string cor_name = emulator_name; - - std::unique_lock lock(m_mutex); - - // 自动匹配模拟器,逐个找 - if (emulator_name.empty()) - { - for (const auto& [name, info] : Configer::get_instance().m_handles) - { - ret = create_handles(info); - if (ret) - { - cor_name = name; - break; - } - } - } - else - { // 指定的模拟器 - ret = create_handles(Configer::get_instance().m_handles[emulator_name]); - } - if (ret) - { - m_inited = true; - return cor_name; - } - else - { - m_inited = false; - return std::nullopt; - } -} - -bool asst::Assistance::start_sanity() -{ - return start_process_task("SanityBegin", ProcessTaskRetryTimesDefault); -} - -bool asst::Assistance::start_visit() -{ - return start_process_task("VisitBegin", ProcessTaskRetryTimesDefault); -} - -bool Assistance::start_process_task(const std::string& task, int retry_times, bool block) -{ - DebugTraceFunction; - DebugTrace("Start |", task, block ? "block" : "non block"); - if (!m_thread_idle || !m_inited) - { - return false; - } - - std::unique_lock lock; - if (block) - { - lock = std::unique_lock(m_mutex); - //clear_exec_times(); - m_identify_ptr->clear_cache(); - } - - append_match_task(task, { task }, retry_times); - - m_thread_idle = false; - m_condvar.notify_one(); - - return true; -} - -#ifdef LOG_TRACE -bool Assistance::start_debug_task() -{ - DebugTraceFunction; - if (!m_thread_idle || !m_inited) - { - return false; - } - - std::unique_lock lock(m_mutex); - - //{ - // append_match_task("Debug", {"UavAssist-MFG"}); - //} - //{ - // constexpr static const char* InfrastTaskCahin = "Debug"; - // auto shift_task_ptr = std::make_shared(task_callback, (void*)this); - - // auto ret = get_opers_idtf_result(); - // if (!ret) { - // DebugTraceInfo("Get opers info error"); - // //return false; - // } - // else { - // shift_task_ptr->set_all_opers_info(std::move(ret.value())); - // } - // shift_task_ptr->set_task_chain(InfrastTaskCahin); - // m_tasks_deque.emplace_back(shift_task_ptr); - //} - { - constexpr static const char* InfrastTaskCahin = "Debug"; - auto shift_task_ptr = std::make_shared(task_callback, (void*)this); - shift_task_ptr->set_task_chain(InfrastTaskCahin); - m_tasks_deque.emplace_back(shift_task_ptr); - } - - m_thread_idle = false; - m_condvar.notify_one(); - - return true; -} -#endif - -bool Assistance::start_open_recruit(const std::vector& required_level, bool set_time) -{ - DebugTraceFunction; - if (!m_thread_idle || !m_inited) - { - return false; - } - - std::unique_lock lock(m_mutex); - - auto task_ptr = std::make_shared(task_callback, (void*)this); - task_ptr->set_param(required_level, set_time); - task_ptr->set_retry_times(OpenRecruitTaskRetyrTimesDefault); - task_ptr->set_task_chain("OpenRecruit"); - m_tasks_deque.emplace_back(task_ptr); - - m_thread_idle = false; - m_condvar.notify_one(); - - return true; -} - -bool asst::Assistance::start_to_identify_opers() -{ - DebugTraceFunction; - if (!m_thread_idle || !m_inited) - { - return false; - } - - std::unique_lock lock(m_mutex); - - auto task_ptr = std::make_shared(task_callback, (void*)this); - task_ptr->set_task_chain("IdentifyOpers"); - m_tasks_deque.emplace_back(task_ptr); - - m_thread_idle = false; - m_condvar.notify_one(); - - return true; -} - -bool asst::Assistance::start_infrast() -{ - DebugTraceFunction; - if (!m_thread_idle || !m_inited) - { - return false; - } - - std::unique_lock lock(m_mutex); - auto ret = get_opers_idtf_result(); - if (!ret) { - DebugTraceInfo("Get opers info error"); - return false; - } - constexpr static const char* InfrastTaskCahin = "Infrast"; - // 换班任务,依次遍历基建设施列表里的最多5个设施,识别并选择最优解干员组合 - auto shift_task_ptr = std::make_shared(task_callback, (void*)this); - shift_task_ptr->set_task_chain(InfrastTaskCahin); - shift_task_ptr->set_all_opers_info(std::move(ret.value())); - - /* 基建任务整体流程: - 1. 从任意界面进入基建,使用ProcessTask - 2. 一键收获贸易站、制造站、干员信赖,使用ProcessTask - 1) 如果收获了,使用基建全缩放到最小的模板匹配 - 2) 如果没收获,使用基建默认大小的模板匹配 - 3. 进入宿舍,把心情低于阈值的、心情没满但不在工作的,都换下去,使用InfrastDormTask - 4. 根据用户设置,按顺序进入制造站or贸易站,使用ProcessTask - 5. 对制造站or贸易站进行换班,使用InfrastStationTask - 6. 根据用户设置,使用无人机加速制造or贸易,使用ProcessTask - 7. 会客室线索处理、发电站换班、控制中枢、办公室换班,同样需要根据用户设置决定顺序,TODO - 8. 再次进入宿舍,把基建中可能换下来的干员(心情不低的)加入宿舍 - */ - - // 1. 从任意界面进入基建,使用ProcessTask - // 2. 一键收获贸易站、制造站、干员信赖,使用ProcessTask - // 这个任务结束后,是在进入基建后的主界面 - append_match_task(InfrastTaskCahin, { "InfrastBegin" }); - - // 3. 进入宿舍,把心情低于阈值的、心情没满但不在工作的,都换下去 - auto dorm_task_ptr = std::make_shared(task_callback, (void*)this); - dorm_task_ptr->set_task_chain(InfrastTaskCahin); - m_tasks_deque.emplace_back(dorm_task_ptr); - - // 返回基建的主界面 - append_match_task(InfrastTaskCahin, { "InfrastBegin" }); - - // 5. 对制造站or贸易站进行换班,使用InfrastStationTask - - // TODO,这里需要根据用户设置,是先制造站还是先贸易站,或者是别的设施 - // 从进入制造站,到设施列表的界面 - append_match_task(InfrastTaskCahin, { "ManufacturingMini", "Manufacturing" }); - - // 制造站换班 - m_tasks_deque.emplace_back(shift_task_ptr); - - // 返回基建的主界面 - append_match_task(InfrastTaskCahin, { "InfrastBegin" }); - - // TODO,这里需要根据用户设置,是先制造站还是先贸易站,或者是别的设施 - // 从进入贸易站,到设施列表的界面 - append_match_task(InfrastTaskCahin, { "Trade", "TradeMini" }); - - // 贸易站换班 - m_tasks_deque.emplace_back(shift_task_ptr); - - // 6. 根据用户设置,使用无人机加速制造or贸易,使用ProcessTask - // 对贸易站使用无人机加速 - append_match_task(InfrastTaskCahin, { "UavAssist-Trade" }); - - // 返回基建的主界面 - append_match_task(InfrastTaskCahin, { "InfrastBegin" }); - - // 7. 会客室线索处理、发电站换班、控制中枢、办公室换班,同样需要根据用户设置决定顺序,TODO - // 发电站换班 - auto power_task_ptr = std::make_shared(task_callback, (void*)this); - power_task_ptr->set_task_chain(InfrastTaskCahin); - m_tasks_deque.emplace_back(std::move(power_task_ptr)); - - // 返回基建的主界面 - append_match_task(InfrastTaskCahin, { "InfrastBegin" }); - - auto office_task_ptr = std::make_shared(task_callback, (void*)this); - office_task_ptr->set_task_chain(InfrastTaskCahin); - m_tasks_deque.emplace_back(std::move(office_task_ptr)); - - // 返回基建的主界面 - append_match_task(InfrastTaskCahin, { "InfrastBegin" }); - - // 8. 再次进入宿舍,把基建中可能换下来的干员(心情不低的)加入宿舍 - dorm_task_ptr->set_select_with_swipe(true); - m_tasks_deque.emplace_back(dorm_task_ptr); - - // 全操作完之后,再返回基建的主界面 - append_match_task(InfrastTaskCahin, { "InfrastBegin" }); - - m_thread_idle = false; - m_condvar.notify_one(); - - return true; -} - -void Assistance::stop(bool block) -{ - DebugTraceFunction; - DebugTrace("Stop |", block ? "block" : "non block"); - - m_thread_idle = true; - - std::unique_lock lock; - if (block) - { // 外部调用 - lock = std::unique_lock(m_mutex); - } - decltype(m_tasks_deque) empty; - m_tasks_deque.swap(empty); - clear_exec_times(); - m_identify_ptr->clear_cache(); -} - -bool Assistance::set_param(const std::string& type, const std::string& param, const std::string& value) -{ - DebugTraceFunction; - DebugTrace("SetParam |", type, param, value); - - return Configer::get_instance().set_param(type, param, value); -} - -void Assistance::working_proc(Assistance* p_this) -{ - DebugTraceFunction; - - int retry_times = 0; - while (!p_this->m_thread_exit) - { - //DebugTraceScope("Assistance::working_proc Loop"); - std::unique_lock lock(p_this->m_mutex); - if (!p_this->m_thread_idle && !p_this->m_tasks_deque.empty()) - { - auto start_time = std::chrono::system_clock::now(); - std::shared_ptr task_ptr = p_this->m_tasks_deque.front(); - // 先pop出来,如果执行失败再还原回去 - p_this->m_tasks_deque.pop_front(); - - task_ptr->set_ptr(p_this->m_controller_ptr, p_this->m_identify_ptr); - task_ptr->set_exit_flag(&p_this->m_thread_idle); - bool ret = task_ptr->run(); - if (ret) - { - retry_times = 0; - } - else - { - // 失败了累加失败次数,超限了再pop - if (retry_times >= task_ptr->get_retry_times()) - { - json::value task_error_json; - task_error_json["retry_limit"] = task_ptr->get_retry_times(); - task_error_json["retry_times"] = retry_times; - task_error_json["task_chain"] = task_ptr->get_task_chain(); - p_this->task_callback(AsstMsg::TaskError, std::move(task_error_json), p_this); - - retry_times = 0; - } - else - { - ++retry_times; - // 执行失败再还原回去 - p_this->m_tasks_deque.emplace_front(task_ptr); - } - } - - int& delay = Configer::get_instance().m_options.task_delay; - p_this->m_condvar.wait_until(lock, start_time + std::chrono::milliseconds(delay), - [&]() -> bool { return p_this->m_thread_idle; }); - } - else - { - p_this->m_thread_idle = true; - p_this->m_condvar.wait(lock); - } - } -} - -void Assistance::msg_proc(Assistance* p_this) -{ - DebugTraceFunction; - - while (!p_this->m_thread_exit) - { - //DebugTraceScope("Assistance::msg_proc Loop"); - std::unique_lock lock(p_this->m_msg_mutex); - if (!p_this->m_msg_queue.empty()) - { - // 结构化绑定只能是引用,后续的pop会使引用失效,所以需要重新构造一份,这里采用了move的方式 - auto&& [temp_msg, temp_detail] = p_this->m_msg_queue.front(); - AsstMsg msg = std::move(temp_msg); - json::value detail = std::move(temp_detail); - p_this->m_msg_queue.pop(); - lock.unlock(); - - if (p_this->m_callback) - { - p_this->m_callback(msg, detail, p_this->m_callback_arg); - } - } - else - { - p_this->m_msg_condvar.wait(lock); - } - } -} - -void Assistance::task_callback(AsstMsg msg, const json::value& detail, void* custom_arg) -{ - DebugTrace("Assistance::task_callback |", msg, detail.to_string()); - - Assistance* p_this = (Assistance*)custom_arg; - json::value more_detail = detail; - switch (msg) - { - case AsstMsg::PtrIsNull: - case AsstMsg::ImageIsEmpty: - p_this->stop(false); - break; - case AsstMsg::WindowMinimized: - p_this->m_controller_ptr->show_window(); - break; - case AsstMsg::AppendProcessTask: - more_detail["type"] = "ProcessTask"; - [[fallthrough]]; - case AsstMsg::AppendTask: - p_this->append_task(more_detail, true); - return; // 这俩消息Assistance会新增任务,外部不需要处理,直接拦掉 - break; - case AsstMsg::OpersIdtfResult: - set_opers_idtf_result(more_detail); // 保存到文件 - break; - default: - break; - } - - // Todo: 有些不需要回调给外部的消息,得在这里给拦截掉 - // 加入回调消息队列,由回调消息线程外抛给外部 - p_this->append_callback(msg, std::move(more_detail)); -} - -void asst::Assistance::append_match_task( - const std::string& task_chain, const std::vector& tasks, int retry_times, bool front) -{ - auto task_ptr = std::make_shared(task_callback, (void*)this); - task_ptr->set_task_chain(task_chain); - task_ptr->set_tasks(tasks); - task_ptr->set_retry_times(retry_times); - if (front) { - m_tasks_deque.emplace_front(task_ptr); - } - else { - m_tasks_deque.emplace_back(task_ptr); - } -} - -void asst::Assistance::append_task(const json::value& detail, bool front) -{ - std::string task_type = detail.at("type").as_string(); - std::string task_chain = detail.get("task_chain", ""); - int retry_times = detail.get("retry_times", INT_MAX); - - if (task_type == "ProcessTask") - { - std::vector next_vec; - if (detail.exist("tasks")) - { - json::array next_arr = detail.at("tasks").as_array(); - for (const json::value& next_json : next_arr) - { - next_vec.emplace_back(next_json.as_string()); - } - } - else if (detail.exist("task")) - { - next_vec.emplace_back(detail.at("task").as_string()); - } - append_match_task(task_chain, next_vec, retry_times, front); - } - // else if // TODO -} - -void asst::Assistance::append_callback(AsstMsg msg, json::value detail) -{ - std::unique_lock lock(m_msg_mutex); - m_msg_queue.emplace(msg, std::move(detail)); - m_msg_condvar.notify_one(); -} - -void Assistance::clear_exec_times() -{ - for (auto&& pair : Configer::get_instance().m_all_tasks_info) - { - pair.second->exec_times = 0; - } -} - -void asst::Assistance::set_opers_idtf_result(const json::value& detail) -{ - constexpr static const char* Filename = "operators.json"; - std::ofstream ofs(GetCurrentDir() + Filename, std::ios::out); - ofs << detail.format() << std::endl; - ofs.close(); -} - -std::optional> Assistance::get_opers_idtf_result() -{ - constexpr static const char* Filename = "operators.json"; - std::ifstream ifs(GetCurrentDir() + Filename, std::ios::in); - if (!ifs.is_open()) { - return std::nullopt; - } - std::stringstream iss; - iss << ifs.rdbuf(); - ifs.close(); - std::string content(iss.str()); - - auto&& parse_ret = json::parse(content); - if (!parse_ret) { - DebugTraceError(__FUNCTION__, "json parsing error!"); - return std::nullopt; - } - json::value root = std::move(parse_ret.value()); - std::unordered_map opers_info; - try { - for (const json::value& info_json : root["all"].as_array()) - { - OperInfrastInfo info; - info.name = info_json.at("name").as_string(); - info.elite = info_json.at("elite").as_integer(); - info.level = info_json.get("level", 0); - opers_info.emplace(info.name, std::move(info)); - } - } - catch (json::exception& exp) { - DebugTraceError(__FUNCTION__, "json parsing error!", exp.what()); - return std::nullopt; - } - return opers_info; +#include "Assistance.h" + +#include +#include + +#include +#include + +#include "WinMacro.h" +#include "Configer.h" +#include "Identify.h" +#include "Logger.hpp" +#include "AsstAux.h" +#include "Task.h" +#include "RecruitConfiger.h" +#include "InfrastConfiger.h" + +using namespace asst; + +Assistance::Assistance(AsstCallback callback, void* callback_arg) + : m_callback(callback), m_callback_arg(callback_arg) +{ + DebugTraceFunction; + + // 检查返回值,若为false则回调错误 + auto callback_error = [&](const std::string& filename = std::string()) { + if (m_callback == nullptr) { + return; + } + json::value callback_json; + callback_json["filename"] = filename; + callback_json["what"] = "Resource"; + m_callback(AsstMsg::InitFaild, callback_json, m_callback_arg); + }; + + bool ret = Configer::get_instance().load(GetResourceDir() + "config.json"); + if (!ret) { + callback_error(); + return; + } + ret = RecruitConfiger::get_instance().load(GetResourceDir() + "recruit.json"); + if (!ret) { + callback_error(); + return; + } + ret = InfrastConfiger::get_instance().load(GetResourceDir() + "infrast.json"); + if (!ret) { + callback_error(); + return; + } + + m_identify_ptr = std::make_shared(); + for (const auto& [name, info] : Configer::get_instance().m_all_tasks_info) + { + if (info->algorithm != AlgorithmType::MatchTemplate) + { + continue; + } + std::string filename = std::dynamic_pointer_cast(info)->template_filename; + ret = m_identify_ptr->add_image(name, GetResourceDir() + "template\\" + filename); + if (!ret) { + callback_error(); + return; + } + } + for (auto& p : std::filesystem::directory_iterator(GetResourceDir() + "template\\special\\")) { + if (p.path().extension() == ".png") { + std::string filename = p.path().filename().u8string(); + std::string without_extension = filename.substr(0, filename.size() - 4); + ret = m_identify_ptr->add_image(without_extension, p.path().u8string()); + } + } + + m_identify_ptr->set_use_cache(Configer::get_instance().m_options.identify_cache); + + m_identify_ptr->set_ocr_param(Configer::get_instance().m_options.ocr_gpu_index, Configer::get_instance().m_options.ocr_thread_number); + ret = m_identify_ptr->ocr_init_models(GetResourceDir() + "OcrLiteOnnx\\models\\"); + if (!ret) { + callback_error(); + return; + } + + for (const auto& [key, name] : InfrastConfiger::get_instance().m_oper_name_feat) { + ret = m_identify_ptr->add_text_image(name, GetResourceDir() + "operators\\" + Utf8ToGbk(name) + ".png"); + if (!ret) { + callback_error(name); + return; + } + } + for (const auto& name : InfrastConfiger::get_instance().m_oper_name_feat_whatever) { + ret = m_identify_ptr->add_text_image(name, GetResourceDir() + "operators\\" + Utf8ToGbk(name) + ".png"); + if (!ret) { + callback_error(name); + return; + } + } + + m_working_thread = std::thread(working_proc, this); + m_msg_thread = std::thread(msg_proc, this); +} + +Assistance::~Assistance() +{ + DebugTraceFunction; + + //if (m_controller_ptr != nullptr) { + // m_controller_ptr->show_window(); + //} + + m_thread_exit = true; + m_thread_idle = true; + m_condvar.notify_all(); + m_msg_condvar.notify_all(); + + if (m_working_thread.joinable()) + { + m_working_thread.join(); + } + if (m_msg_thread.joinable()) + { + m_msg_thread.join(); + } +} + +std::optional Assistance::catch_emulator(const std::string& emulator_name) +{ + DebugTraceFunction; + + stop(); + + auto create_handles = [&](const EmulatorInfo& info) -> bool + { + m_controller_ptr = std::make_shared(info); + return m_controller_ptr->captured(); + }; + + bool ret = false; + std::string cor_name = emulator_name; + + std::unique_lock lock(m_mutex); + + // 自动匹配模拟器,逐个找 + if (emulator_name.empty()) + { + for (const auto& [name, info] : Configer::get_instance().m_handles) + { + ret = create_handles(info); + if (ret) + { + cor_name = name; + break; + } + } + } + else + { // 指定的模拟器 + ret = create_handles(Configer::get_instance().m_handles[emulator_name]); + } + if (ret) + { + m_inited = true; + return cor_name; + } + else + { + m_inited = false; + return std::nullopt; + } +} + +bool asst::Assistance::start_sanity() +{ + return start_process_task("SanityBegin", ProcessTaskRetryTimesDefault); +} + +bool asst::Assistance::start_visit() +{ + return start_process_task("VisitBegin", ProcessTaskRetryTimesDefault); +} + +bool Assistance::start_process_task(const std::string& task, int retry_times, bool block) +{ + DebugTraceFunction; + DebugTrace("Start |", task, block ? "block" : "non block"); + if (!m_thread_idle || !m_inited) + { + return false; + } + + std::unique_lock lock; + if (block) + { + lock = std::unique_lock(m_mutex); + //clear_exec_times(); + m_identify_ptr->clear_cache(); + } + + append_match_task(task, { task }, retry_times); + + m_thread_idle = false; + m_condvar.notify_one(); + + return true; +} + +#ifdef LOG_TRACE +bool Assistance::start_debug_task() +{ + DebugTraceFunction; + if (!m_thread_idle || !m_inited) + { + return false; + } + + std::unique_lock lock(m_mutex); + + //{ + // append_match_task("Debug", {"UavAssist-MFG"}); + //} + //{ + // constexpr static const char* InfrastTaskCahin = "Debug"; + // auto shift_task_ptr = std::make_shared(task_callback, (void*)this); + + // auto ret = get_opers_idtf_result(); + // if (!ret) { + // DebugTraceInfo("Get opers info error"); + // //return false; + // } + // else { + // shift_task_ptr->set_all_opers_info(std::move(ret.value())); + // } + // shift_task_ptr->set_task_chain(InfrastTaskCahin); + // m_tasks_deque.emplace_back(shift_task_ptr); + //} + { + constexpr static const char* InfrastTaskCahin = "Debug"; + auto shift_task_ptr = std::make_shared(task_callback, (void*)this); + shift_task_ptr->set_task_chain(InfrastTaskCahin); + m_tasks_deque.emplace_back(shift_task_ptr); + } + + m_thread_idle = false; + m_condvar.notify_one(); + + return true; +} +#endif + +bool Assistance::start_open_recruit(const std::vector& required_level, bool set_time) +{ + DebugTraceFunction; + if (!m_thread_idle || !m_inited) + { + return false; + } + + std::unique_lock lock(m_mutex); + + auto task_ptr = std::make_shared(task_callback, (void*)this); + task_ptr->set_param(required_level, set_time); + task_ptr->set_retry_times(OpenRecruitTaskRetyrTimesDefault); + task_ptr->set_task_chain("OpenRecruit"); + m_tasks_deque.emplace_back(task_ptr); + + m_thread_idle = false; + m_condvar.notify_one(); + + return true; +} + +bool asst::Assistance::start_to_identify_opers() +{ + DebugTraceFunction; + if (!m_thread_idle || !m_inited) + { + return false; + } + + std::unique_lock lock(m_mutex); + + auto task_ptr = std::make_shared(task_callback, (void*)this); + task_ptr->set_task_chain("IdentifyOpers"); + m_tasks_deque.emplace_back(task_ptr); + + m_thread_idle = false; + m_condvar.notify_one(); + + return true; +} + +bool asst::Assistance::start_infrast() +{ + DebugTraceFunction; + if (!m_thread_idle || !m_inited) + { + return false; + } + + std::unique_lock lock(m_mutex); + auto ret = get_opers_idtf_result(); + if (!ret) { + DebugTraceInfo("Get opers info error"); + return false; + } + constexpr static const char* InfrastTaskCahin = "Infrast"; + // 换班任务,依次遍历基建设施列表里的最多5个设施,识别并选择最优解干员组合 + auto shift_task_ptr = std::make_shared(task_callback, (void*)this); + shift_task_ptr->set_task_chain(InfrastTaskCahin); + shift_task_ptr->set_all_opers_info(std::move(ret.value())); + + /* 基建任务整体流程: + 1. 从任意界面进入基建,使用ProcessTask + 2. 一键收获贸易站、制造站、干员信赖,使用ProcessTask + 1) 如果收获了,使用基建全缩放到最小的模板匹配 + 2) 如果没收获,使用基建默认大小的模板匹配 + 3. 进入宿舍,把心情低于阈值的、心情没满但不在工作的,都换下去,使用InfrastDormTask + 4. 根据用户设置,按顺序进入制造站or贸易站,使用ProcessTask + 5. 对制造站or贸易站进行换班,使用InfrastStationTask + 6. 根据用户设置,使用无人机加速制造or贸易,使用ProcessTask + 7. 会客室线索处理、发电站换班、控制中枢、办公室换班,同样需要根据用户设置决定顺序,TODO + 8. 再次进入宿舍,把基建中可能换下来的干员(心情不低的)加入宿舍 + */ + + // 1. 从任意界面进入基建,使用ProcessTask + // 2. 一键收获贸易站、制造站、干员信赖,使用ProcessTask + // 这个任务结束后,是在进入基建后的主界面 + append_match_task(InfrastTaskCahin, { "InfrastBegin" }); + + // 3. 进入宿舍,把心情低于阈值的、心情没满但不在工作的,都换下去 + auto dorm_task_ptr = std::make_shared(task_callback, (void*)this); + dorm_task_ptr->set_task_chain(InfrastTaskCahin); + m_tasks_deque.emplace_back(dorm_task_ptr); + + // 返回基建的主界面 + append_match_task(InfrastTaskCahin, { "InfrastBegin" }); + + // 5. 对制造站or贸易站进行换班,使用InfrastStationTask + + // TODO,这里需要根据用户设置,是先制造站还是先贸易站,或者是别的设施 + // 从进入制造站,到设施列表的界面 + append_match_task(InfrastTaskCahin, { "ManufacturingMini", "Manufacturing" }); + + // 制造站换班 + m_tasks_deque.emplace_back(shift_task_ptr); + + // 返回基建的主界面 + append_match_task(InfrastTaskCahin, { "InfrastBegin" }); + + // TODO,这里需要根据用户设置,是先制造站还是先贸易站,或者是别的设施 + // 从进入贸易站,到设施列表的界面 + append_match_task(InfrastTaskCahin, { "Trade", "TradeMini" }); + + // 贸易站换班 + m_tasks_deque.emplace_back(shift_task_ptr); + + // 6. 根据用户设置,使用无人机加速制造or贸易,使用ProcessTask + // 对贸易站使用无人机加速 + append_match_task(InfrastTaskCahin, { "UavAssist-Trade" }); + + // 返回基建的主界面 + append_match_task(InfrastTaskCahin, { "InfrastBegin" }); + + // 7. 会客室线索处理、发电站换班、控制中枢、办公室换班,同样需要根据用户设置决定顺序,TODO + // 发电站换班 + auto power_task_ptr = std::make_shared(task_callback, (void*)this); + power_task_ptr->set_task_chain(InfrastTaskCahin); + m_tasks_deque.emplace_back(std::move(power_task_ptr)); + + // 返回基建的主界面 + append_match_task(InfrastTaskCahin, { "InfrastBegin" }); + + auto office_task_ptr = std::make_shared(task_callback, (void*)this); + office_task_ptr->set_task_chain(InfrastTaskCahin); + m_tasks_deque.emplace_back(std::move(office_task_ptr)); + + // 返回基建的主界面 + append_match_task(InfrastTaskCahin, { "InfrastBegin" }); + + // 8. 再次进入宿舍,把基建中可能换下来的干员(心情不低的)加入宿舍 + dorm_task_ptr->set_select_with_swipe(true); + m_tasks_deque.emplace_back(dorm_task_ptr); + + // 全操作完之后,再返回基建的主界面 + append_match_task(InfrastTaskCahin, { "InfrastBegin" }); + + m_thread_idle = false; + m_condvar.notify_one(); + + return true; +} + +void Assistance::stop(bool block) +{ + DebugTraceFunction; + DebugTrace("Stop |", block ? "block" : "non block"); + + m_thread_idle = true; + + std::unique_lock lock; + if (block) + { // 外部调用 + lock = std::unique_lock(m_mutex); + } + decltype(m_tasks_deque) empty; + m_tasks_deque.swap(empty); + clear_exec_times(); + m_identify_ptr->clear_cache(); +} + +bool Assistance::set_param(const std::string& type, const std::string& param, const std::string& value) +{ + DebugTraceFunction; + DebugTrace("SetParam |", type, param, value); + + return Configer::get_instance().set_param(type, param, value); +} + +void Assistance::working_proc(Assistance* p_this) +{ + DebugTraceFunction; + + int retry_times = 0; + while (!p_this->m_thread_exit) + { + //DebugTraceScope("Assistance::working_proc Loop"); + std::unique_lock lock(p_this->m_mutex); + if (!p_this->m_thread_idle && !p_this->m_tasks_deque.empty()) + { + auto start_time = std::chrono::system_clock::now(); + std::shared_ptr task_ptr = p_this->m_tasks_deque.front(); + // 先pop出来,如果执行失败再还原回去 + p_this->m_tasks_deque.pop_front(); + + task_ptr->set_ptr(p_this->m_controller_ptr, p_this->m_identify_ptr); + task_ptr->set_exit_flag(&p_this->m_thread_idle); + bool ret = task_ptr->run(); + if (ret) + { + retry_times = 0; + } + else + { + // 失败了累加失败次数,超限了再pop + if (retry_times >= task_ptr->get_retry_times()) + { + json::value task_error_json; + task_error_json["retry_limit"] = task_ptr->get_retry_times(); + task_error_json["retry_times"] = retry_times; + task_error_json["task_chain"] = task_ptr->get_task_chain(); + p_this->task_callback(AsstMsg::TaskError, std::move(task_error_json), p_this); + + retry_times = 0; + } + else + { + ++retry_times; + // 执行失败再还原回去 + p_this->m_tasks_deque.emplace_front(task_ptr); + } + } + + int& delay = Configer::get_instance().m_options.task_delay; + p_this->m_condvar.wait_until(lock, start_time + std::chrono::milliseconds(delay), + [&]() -> bool { return p_this->m_thread_idle; }); + } + else + { + p_this->m_thread_idle = true; + p_this->m_condvar.wait(lock); + } + } +} + +void Assistance::msg_proc(Assistance* p_this) +{ + DebugTraceFunction; + + while (!p_this->m_thread_exit) + { + //DebugTraceScope("Assistance::msg_proc Loop"); + std::unique_lock lock(p_this->m_msg_mutex); + if (!p_this->m_msg_queue.empty()) + { + // 结构化绑定只能是引用,后续的pop会使引用失效,所以需要重新构造一份,这里采用了move的方式 + auto&& [temp_msg, temp_detail] = p_this->m_msg_queue.front(); + AsstMsg msg = std::move(temp_msg); + json::value detail = std::move(temp_detail); + p_this->m_msg_queue.pop(); + lock.unlock(); + + if (p_this->m_callback) + { + p_this->m_callback(msg, detail, p_this->m_callback_arg); + } + } + else + { + p_this->m_msg_condvar.wait(lock); + } + } +} + +void Assistance::task_callback(AsstMsg msg, const json::value& detail, void* custom_arg) +{ + DebugTrace("Assistance::task_callback |", msg, detail.to_string()); + + Assistance* p_this = (Assistance*)custom_arg; + json::value more_detail = detail; + switch (msg) + { + case AsstMsg::PtrIsNull: + case AsstMsg::ImageIsEmpty: + p_this->stop(false); + break; + case AsstMsg::WindowMinimized: + p_this->m_controller_ptr->show_window(); + break; + case AsstMsg::AppendProcessTask: + more_detail["type"] = "ProcessTask"; + [[fallthrough]]; + case AsstMsg::AppendTask: + p_this->append_task(more_detail, true); + return; // 这俩消息Assistance会新增任务,外部不需要处理,直接拦掉 + break; + case AsstMsg::OpersIdtfResult: + set_opers_idtf_result(more_detail); // 保存到文件 + break; + default: + break; + } + + // Todo: 有些不需要回调给外部的消息,得在这里给拦截掉 + // 加入回调消息队列,由回调消息线程外抛给外部 + p_this->append_callback(msg, std::move(more_detail)); +} + +void asst::Assistance::append_match_task( + const std::string& task_chain, const std::vector& tasks, int retry_times, bool front) +{ + auto task_ptr = std::make_shared(task_callback, (void*)this); + task_ptr->set_task_chain(task_chain); + task_ptr->set_tasks(tasks); + task_ptr->set_retry_times(retry_times); + if (front) { + m_tasks_deque.emplace_front(task_ptr); + } + else { + m_tasks_deque.emplace_back(task_ptr); + } +} + +void asst::Assistance::append_task(const json::value& detail, bool front) +{ + std::string task_type = detail.at("type").as_string(); + std::string task_chain = detail.get("task_chain", ""); + int retry_times = detail.get("retry_times", INT_MAX); + + if (task_type == "ProcessTask") + { + std::vector next_vec; + if (detail.exist("tasks")) + { + json::array next_arr = detail.at("tasks").as_array(); + for (const json::value& next_json : next_arr) + { + next_vec.emplace_back(next_json.as_string()); + } + } + else if (detail.exist("task")) + { + next_vec.emplace_back(detail.at("task").as_string()); + } + append_match_task(task_chain, next_vec, retry_times, front); + } + // else if // TODO +} + +void asst::Assistance::append_callback(AsstMsg msg, json::value detail) +{ + std::unique_lock lock(m_msg_mutex); + m_msg_queue.emplace(msg, std::move(detail)); + m_msg_condvar.notify_one(); +} + +void Assistance::clear_exec_times() +{ + for (auto&& pair : Configer::get_instance().m_all_tasks_info) + { + pair.second->exec_times = 0; + } +} + +void asst::Assistance::set_opers_idtf_result(const json::value& detail) +{ + constexpr static const char* Filename = "operators.json"; + std::ofstream ofs(GetCurrentDir() + Filename, std::ios::out); + ofs << detail.format() << std::endl; + ofs.close(); +} + +std::optional> Assistance::get_opers_idtf_result() +{ + constexpr static const char* Filename = "operators.json"; + std::ifstream ifs(GetCurrentDir() + Filename, std::ios::in); + if (!ifs.is_open()) { + return std::nullopt; + } + std::stringstream iss; + iss << ifs.rdbuf(); + ifs.close(); + std::string content(iss.str()); + + auto&& parse_ret = json::parse(content); + if (!parse_ret) { + DebugTraceError(__FUNCTION__, "json parsing error!"); + return std::nullopt; + } + json::value root = std::move(parse_ret.value()); + std::unordered_map opers_info; + try { + for (const json::value& info_json : root["all"].as_array()) + { + OperInfrastInfo info; + info.name = info_json.at("name").as_string(); + info.elite = info_json.at("elite").as_integer(); + info.level = info_json.get("level", 0); + opers_info.emplace(info.name, std::move(info)); + } + } + catch (json::exception& exp) { + DebugTraceError(__FUNCTION__, "json parsing error!", exp.what()); + return std::nullopt; + } + return opers_info; } \ No newline at end of file diff --git a/MeoAssistance/Assistance.h b/src/MeoAssistance/Assistance.h similarity index 100% rename from MeoAssistance/Assistance.h rename to src/MeoAssistance/Assistance.h diff --git a/MeoAssistance/AsstAux.h b/src/MeoAssistance/AsstAux.h similarity index 100% rename from MeoAssistance/AsstAux.h rename to src/MeoAssistance/AsstAux.h diff --git a/MeoAssistance/AsstCaller.cpp b/src/MeoAssistance/AsstCaller.cpp similarity index 100% rename from MeoAssistance/AsstCaller.cpp rename to src/MeoAssistance/AsstCaller.cpp diff --git a/MeoAssistance/AsstDef.h b/src/MeoAssistance/AsstDef.h similarity index 100% rename from MeoAssistance/AsstDef.h rename to src/MeoAssistance/AsstDef.h diff --git a/MeoAssistance/AsstMsg.h b/src/MeoAssistance/AsstMsg.h similarity index 96% rename from MeoAssistance/AsstMsg.h rename to src/MeoAssistance/AsstMsg.h index 205f36f1a4..6460e3b4f1 100644 --- a/MeoAssistance/AsstMsg.h +++ b/src/MeoAssistance/AsstMsg.h @@ -1,81 +1,81 @@ -#pragma once - -#include -#include -#include -#include - -#include - -namespace asst { - enum class AsstMsg { - /* Error Msg */ - PtrIsNull, - ImageIsEmpty, - WindowMinimized, - InitFaild, - /* Info Msg */ - TaskStart, - ImageFindResult, - ImageMatched, - TaskMatched, - ReachedLimit, - ReadyToSleep, - EndOfSleep, - AppendProcessTask, // 这个消息Assistance会新增任务,外部不需要处理 - AppendTask, // 这个消息Assistance会新增任务,外部不需要处理 - TaskCompleted, - PrintWindow, - TaskStop, - TaskError, - /* Open Recruit Msg */ - TextDetected, - RecruitTagsDetected, - OcrResultError, - RecruitSpecialTag, - RecruitResult, - /* Infrast Msg*/ - OpersDetected, // 识别到了干员s - OpersIdtfResult, // 干员识别结果(总的) - InfrastComb // 当前设置的最优干员组合 - }; - - static std::ostream& operator<<(std::ostream& os, const AsstMsg& type) - { - static const std::unordered_map _type_name = { - {AsstMsg::PtrIsNull, "PtrIsNull"}, - {AsstMsg::ImageIsEmpty, "ImageIsEmpty"}, - {AsstMsg::WindowMinimized, "WindowMinimized"}, - {AsstMsg::InitFaild, "InitFaild"}, - {AsstMsg::TaskStart, "TaskStart"}, - {AsstMsg::ImageFindResult, "ImageFindResult"}, - {AsstMsg::ImageMatched, "ImageMatched"}, - {AsstMsg::TaskMatched, "TaskMatched"}, - {AsstMsg::ReachedLimit, "ReachedLimit"}, - {AsstMsg::ReadyToSleep, "ReadyToSleep"}, - {AsstMsg::EndOfSleep, "EndOfSleep"}, - {AsstMsg::AppendProcessTask, "AppendProcessTask"}, - {AsstMsg::TaskCompleted, "TaskCompleted"}, - {AsstMsg::PrintWindow, "PrintWindow"}, - {AsstMsg::TaskError, "TaskError"}, - {AsstMsg::TaskStop, "TaskStop"}, - {AsstMsg::TextDetected, "TextDetected"}, - {AsstMsg::RecruitTagsDetected, "RecruitTagsDetected"}, - {AsstMsg::OcrResultError, "OcrResultError"}, - {AsstMsg::RecruitSpecialTag, "RecruitSpecialTag"}, - {AsstMsg::RecruitResult, "RecruitResult"}, - {AsstMsg::AppendTask, "AppendTask"}, - {AsstMsg::OpersDetected, "OpersDetected"}, - {AsstMsg::OpersIdtfResult, "OpersIdtfResult"}, - {AsstMsg::InfrastComb, "InfrastComb"} - }; - return os << _type_name.at(type); - } - - // AsstCallback 消息回调函数 - // 参数: - // AsstMsg 消息类型 - // const json::value& 消息详情json,每种消息不同,Todo,需要补充个协议文档啥的 - // void* 外部调用者自定义参数,每次回调会带出去,建议传个(void*)this指针进来 - using AsstCallback = std::function; +#pragma once + +#include +#include +#include +#include + +#include + +namespace asst { + enum class AsstMsg { + /* Error Msg */ + PtrIsNull, + ImageIsEmpty, + WindowMinimized, + InitFaild, + /* Info Msg */ + TaskStart, + ImageFindResult, + ImageMatched, + TaskMatched, + ReachedLimit, + ReadyToSleep, + EndOfSleep, + AppendProcessTask, // 这个消息Assistance会新增任务,外部不需要处理 + AppendTask, // 这个消息Assistance会新增任务,外部不需要处理 + TaskCompleted, + PrintWindow, + TaskStop, + TaskError, + /* Open Recruit Msg */ + TextDetected, + RecruitTagsDetected, + OcrResultError, + RecruitSpecialTag, + RecruitResult, + /* Infrast Msg*/ + OpersDetected, // 识别到了干员s + OpersIdtfResult, // 干员识别结果(总的) + InfrastComb // 当前设置的最优干员组合 + }; + + static std::ostream& operator<<(std::ostream& os, const AsstMsg& type) + { + static const std::unordered_map _type_name = { + {AsstMsg::PtrIsNull, "PtrIsNull"}, + {AsstMsg::ImageIsEmpty, "ImageIsEmpty"}, + {AsstMsg::WindowMinimized, "WindowMinimized"}, + {AsstMsg::InitFaild, "InitFaild"}, + {AsstMsg::TaskStart, "TaskStart"}, + {AsstMsg::ImageFindResult, "ImageFindResult"}, + {AsstMsg::ImageMatched, "ImageMatched"}, + {AsstMsg::TaskMatched, "TaskMatched"}, + {AsstMsg::ReachedLimit, "ReachedLimit"}, + {AsstMsg::ReadyToSleep, "ReadyToSleep"}, + {AsstMsg::EndOfSleep, "EndOfSleep"}, + {AsstMsg::AppendProcessTask, "AppendProcessTask"}, + {AsstMsg::TaskCompleted, "TaskCompleted"}, + {AsstMsg::PrintWindow, "PrintWindow"}, + {AsstMsg::TaskError, "TaskError"}, + {AsstMsg::TaskStop, "TaskStop"}, + {AsstMsg::TextDetected, "TextDetected"}, + {AsstMsg::RecruitTagsDetected, "RecruitTagsDetected"}, + {AsstMsg::OcrResultError, "OcrResultError"}, + {AsstMsg::RecruitSpecialTag, "RecruitSpecialTag"}, + {AsstMsg::RecruitResult, "RecruitResult"}, + {AsstMsg::AppendTask, "AppendTask"}, + {AsstMsg::OpersDetected, "OpersDetected"}, + {AsstMsg::OpersIdtfResult, "OpersIdtfResult"}, + {AsstMsg::InfrastComb, "InfrastComb"} + }; + return os << _type_name.at(type); + } + + // AsstCallback 消息回调函数 + // 参数: + // AsstMsg 消息类型 + // const json::value& 消息详情json,每种消息不同,Todo,需要补充个协议文档啥的 + // void* 外部调用者自定义参数,每次回调会带出去,建议传个(void*)this指针进来 + using AsstCallback = std::function; } \ No newline at end of file diff --git a/MeoAssistance/Configer.cpp b/src/MeoAssistance/Configer.cpp similarity index 100% rename from MeoAssistance/Configer.cpp rename to src/MeoAssistance/Configer.cpp diff --git a/MeoAssistance/Configer.h b/src/MeoAssistance/Configer.h similarity index 100% rename from MeoAssistance/Configer.h rename to src/MeoAssistance/Configer.h diff --git a/MeoAssistance/Identify.cpp b/src/MeoAssistance/Identify.cpp similarity index 100% rename from MeoAssistance/Identify.cpp rename to src/MeoAssistance/Identify.cpp diff --git a/MeoAssistance/Identify.h b/src/MeoAssistance/Identify.h similarity index 100% rename from MeoAssistance/Identify.h rename to src/MeoAssistance/Identify.h diff --git a/MeoAssistance/IdentifyOperTask.cpp b/src/MeoAssistance/IdentifyOperTask.cpp similarity index 100% rename from MeoAssistance/IdentifyOperTask.cpp rename to src/MeoAssistance/IdentifyOperTask.cpp diff --git a/MeoAssistance/IdentifyOperTask.h b/src/MeoAssistance/IdentifyOperTask.h similarity index 100% rename from MeoAssistance/IdentifyOperTask.h rename to src/MeoAssistance/IdentifyOperTask.h diff --git a/MeoAssistance/InfrastAbstractTask.cpp b/src/MeoAssistance/InfrastAbstractTask.cpp similarity index 100% rename from MeoAssistance/InfrastAbstractTask.cpp rename to src/MeoAssistance/InfrastAbstractTask.cpp diff --git a/MeoAssistance/InfrastAbstractTask.h b/src/MeoAssistance/InfrastAbstractTask.h similarity index 100% rename from MeoAssistance/InfrastAbstractTask.h rename to src/MeoAssistance/InfrastAbstractTask.h diff --git a/MeoAssistance/InfrastConfiger.cpp b/src/MeoAssistance/InfrastConfiger.cpp similarity index 100% rename from MeoAssistance/InfrastConfiger.cpp rename to src/MeoAssistance/InfrastConfiger.cpp diff --git a/MeoAssistance/InfrastConfiger.h b/src/MeoAssistance/InfrastConfiger.h similarity index 100% rename from MeoAssistance/InfrastConfiger.h rename to src/MeoAssistance/InfrastConfiger.h diff --git a/MeoAssistance/InfrastDormTask.cpp b/src/MeoAssistance/InfrastDormTask.cpp similarity index 100% rename from MeoAssistance/InfrastDormTask.cpp rename to src/MeoAssistance/InfrastDormTask.cpp diff --git a/MeoAssistance/InfrastDormTask.h b/src/MeoAssistance/InfrastDormTask.h similarity index 100% rename from MeoAssistance/InfrastDormTask.h rename to src/MeoAssistance/InfrastDormTask.h diff --git a/MeoAssistance/InfrastOfficeTask.cpp b/src/MeoAssistance/InfrastOfficeTask.cpp similarity index 100% rename from MeoAssistance/InfrastOfficeTask.cpp rename to src/MeoAssistance/InfrastOfficeTask.cpp diff --git a/MeoAssistance/InfrastOfficeTask.h b/src/MeoAssistance/InfrastOfficeTask.h similarity index 100% rename from MeoAssistance/InfrastOfficeTask.h rename to src/MeoAssistance/InfrastOfficeTask.h diff --git a/MeoAssistance/InfrastPowerTask.cpp b/src/MeoAssistance/InfrastPowerTask.cpp similarity index 100% rename from MeoAssistance/InfrastPowerTask.cpp rename to src/MeoAssistance/InfrastPowerTask.cpp diff --git a/MeoAssistance/InfrastPowerTask.h b/src/MeoAssistance/InfrastPowerTask.h similarity index 100% rename from MeoAssistance/InfrastPowerTask.h rename to src/MeoAssistance/InfrastPowerTask.h diff --git a/MeoAssistance/InfrastProductionTask.cpp b/src/MeoAssistance/InfrastProductionTask.cpp similarity index 100% rename from MeoAssistance/InfrastProductionTask.cpp rename to src/MeoAssistance/InfrastProductionTask.cpp diff --git a/MeoAssistance/InfrastProductionTask.h b/src/MeoAssistance/InfrastProductionTask.h similarity index 100% rename from MeoAssistance/InfrastProductionTask.h rename to src/MeoAssistance/InfrastProductionTask.h diff --git a/MeoAssistance/Logger.hpp b/src/MeoAssistance/Logger.hpp similarity index 100% rename from MeoAssistance/Logger.hpp rename to src/MeoAssistance/Logger.hpp diff --git a/MeoAssistance/MeoAssistance.vcxproj b/src/MeoAssistance/MeoAssistance.vcxproj similarity index 83% rename from MeoAssistance/MeoAssistance.vcxproj rename to src/MeoAssistance/MeoAssistance.vcxproj index 313bead10f..2178540dc2 100644 --- a/MeoAssistance/MeoAssistance.vcxproj +++ b/src/MeoAssistance/MeoAssistance.vcxproj @@ -1,204 +1,204 @@ - - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 16.0 - Win32Proj - {362d1e30-f5ae-4279-9985-65c27b3ba300} - MeoAssistance - 10.0 - - - - DynamicLibrary - false - v142 - true - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - - - - - - - - - - - - - false - $(SolutionDir)include;$(SolutionDir)3rdPart\include;$(SolutionDir)3rdPart\include\meojson;$(SolutionDir)\3rdPart\include\opencv;$(SolutionDir)\3rdPart\include\opencv2;$(SolutionDir)3drPart\include\OcrLiteNcnn;;$(IncludePath) - $(TargetDir);$(Solution)\3rdPart\lib;$(LibraryPath) - - - true - $(SolutionDir)include;$(SolutionDir)3rdPart\include;$(SolutionDir)3rdPart\include\meojson;$(SolutionDir)3rdPart\include\opencv;$(SolutionDir)3rdPart\include\opencv2;$(SolutionDir)3drPart\include\OcrLiteNcnn;$(IncludePath) - $(TargetDir);$(Solution)\3rdPart\lib;$(LibraryPath) - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;MEO_DLL_EXPORTS;%(PreprocessorDefinitions) - true - stdcpp17 - stdc11 - MultiThreaded - MaxSpeed - /utf-8 %(AdditionalOptions) - - - Console - true - true - true - libmeojson.lib;OcrLiteOnnx.lib;opencv_world3413.lib;WinInet.Lib;%(AdditionalDependencies) - RequireAdministrator - $(SolutionDir)3rdPart\lib\ - - - - - - - xcopy /e /y /i $(SolutionDir)resource $(TargetDir)resource -xcopy /e /y /i $(SolutionDir)3rdPart\resource $(TargetDir)resource - - - copy resource - - - xcopy /e /y /i $(SolutionDir)3rdPart\bin $(TargetDir) - - - copy 3rd part dll - - - - - Level3 - - - false - true - NDEBUG;_CONSOLE;MEO_DLL_EXPORTS;LOG_TRACE;DEBUG_API;%(PreprocessorDefinitions) - true - stdcpp17 - stdc11 - MultiThreaded - Disabled - false - EnableFastChecks - /utf-8 %(AdditionalOptions) - - - Console - true - true - true - libmeojson.lib;OcrLiteOnnx.lib;opencv_world3413.lib;WinInet.Lib;%(AdditionalDependencies) - RequireAdministrator - $(SolutionDir)3rdPart\lib\ - - - - - - - xcopy /e /y /i $(SolutionDir)resource $(TargetDir)resource -xcopy /e /y /i $(SolutionDir)3rdPart\resource $(TargetDir)resource - - - copy resource - - - xcopy /e /y /i $(SolutionDir)3rdPart\bin $(TargetDir) - - - copy 3rd part dll - - - - - - - - - - + + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 16.0 + Win32Proj + {362d1e30-f5ae-4279-9985-65c27b3ba300} + MeoAssistance + 10.0 + + + + DynamicLibrary + false + v142 + true + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + + + + + + + + + + + + + false + $(SolutionDir)include;$(SolutionDir)3rdparty\include;$(SolutionDir)3rdparty\include\meojson;$(SolutionDir)\3rdparty\include\opencv;$(SolutionDir)\3rdparty\include\opencv2;$(SolutionDir)3drPart\include\OcrLiteNcnn;;$(IncludePath) + $(TargetDir);$(Solution)\3rdparty\lib;$(LibraryPath) + + + true + $(SolutionDir)include;$(SolutionDir)3rdparty\include;$(SolutionDir)3rdparty\include\meojson;$(SolutionDir)3rdparty\include\opencv;$(SolutionDir)3rdparty\include\opencv2;$(SolutionDir)3drPart\include\OcrLiteNcnn;$(IncludePath) + $(TargetDir);$(Solution)\3rdparty\lib;$(LibraryPath) + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;MEO_DLL_EXPORTS;%(PreprocessorDefinitions) + true + stdcpp17 + stdc11 + MultiThreaded + MaxSpeed + /utf-8 %(AdditionalOptions) + + + Console + true + true + true + libmeojson.lib;OcrLiteOnnx.lib;opencv_world3413.lib;WinInet.Lib;%(AdditionalDependencies) + RequireAdministrator + $(SolutionDir)3rdparty\lib\ + + + + + + + xcopy /e /y /i $(SolutionDir)resource $(TargetDir)resource +xcopy /e /y /i $(SolutionDir)3rdparty\resource $(TargetDir)resource + + + copy resource + + + xcopy /e /y /i $(SolutionDir)3rdparty\bin $(TargetDir) + + + copy 3rd part dll + + + + + Level3 + + + false + true + NDEBUG;_CONSOLE;MEO_DLL_EXPORTS;LOG_TRACE;DEBUG_API;%(PreprocessorDefinitions) + true + stdcpp17 + stdc11 + MultiThreaded + Disabled + false + EnableFastChecks + /utf-8 %(AdditionalOptions) + + + Console + true + true + true + libmeojson.lib;OcrLiteOnnx.lib;opencv_world3413.lib;WinInet.Lib;%(AdditionalDependencies) + RequireAdministrator + $(SolutionDir)3rdparty\lib\ + + + + + + + xcopy /e /y /i $(SolutionDir)resource $(TargetDir)resource +xcopy /e /y /i $(SolutionDir)3rdparty\resource $(TargetDir)resource + + + copy resource + + + xcopy /e /y /i $(SolutionDir)3rdparty\bin $(TargetDir) + + + copy 3rd part dll + + + + + + + + + + \ No newline at end of file diff --git a/MeoAssistance/MeoAssistance.vcxproj.filters b/src/MeoAssistance/MeoAssistance.vcxproj.filters similarity index 93% rename from MeoAssistance/MeoAssistance.vcxproj.filters rename to src/MeoAssistance/MeoAssistance.vcxproj.filters index 987dd05193..c47da119bd 100644 --- a/MeoAssistance/MeoAssistance.vcxproj.filters +++ b/src/MeoAssistance/MeoAssistance.vcxproj.filters @@ -1,194 +1,194 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {81d86994-0d89-4cc2-aa6f-d726a0bd0490} - - - {07a812fe-6b28-4be0-b6d4-33554824d3c5} - - - {74bd94e1-4973-412a-a17a-d8457de387af} - - - {87c9dee5-847b-41e6-818e-387a6385ea8b} - - - {3b93d9f2-728c-4a22-bc13-57ce7df5806c} - - - {1ef28df7-c174-4032-bbcf-9722ae53852d} - - - {557d6d96-11d9-46e1-b611-b2b8216abea6} - - - {08846a78-d9cf-4d06-aecc-e983ef5c7c83} - - - {b39a4ef9-28ad-4173-bc52-68221b765396} - - - - - 头文件 - - - 头文件 - - - 头文件 - - - 头文件\Configer - - - 头文件\Configer - - - 头文件\Configer - - - 头文件\Aux - - - 头文件\Aux - - - 头文件\Aux - - - 头文件\Aux - - - 头文件\Caller - - - 头文件\Caller - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - 头文件\Aux - - - 头文件\Task - - - 头文件\Updater - - - 头文件\Task - - - 头文件\Configer - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - - - 源文件 - - - 源文件 - - - 源文件\Configer - - - 源文件 - - - 源文件\Configer - - - 源文件\Configer - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Caller - - - 源文件\Updater - - - 源文件\Task - - - 源文件\Configer - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - - - 资源文件 - - - 资源文件 - - - 资源文件 - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {81d86994-0d89-4cc2-aa6f-d726a0bd0490} + + + {07a812fe-6b28-4be0-b6d4-33554824d3c5} + + + {74bd94e1-4973-412a-a17a-d8457de387af} + + + {87c9dee5-847b-41e6-818e-387a6385ea8b} + + + {3b93d9f2-728c-4a22-bc13-57ce7df5806c} + + + {1ef28df7-c174-4032-bbcf-9722ae53852d} + + + {557d6d96-11d9-46e1-b611-b2b8216abea6} + + + {08846a78-d9cf-4d06-aecc-e983ef5c7c83} + + + {b39a4ef9-28ad-4173-bc52-68221b765396} + + + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件\Configer + + + 头文件\Configer + + + 头文件\Configer + + + 头文件\Aux + + + 头文件\Aux + + + 头文件\Aux + + + 头文件\Aux + + + 头文件\Caller + + + 头文件\Caller + + + 头文件\Task + + + 头文件\Task + + + 头文件\Task + + + 头文件\Task + + + 头文件\Task + + + 头文件\Aux + + + 头文件\Task + + + 头文件\Updater + + + 头文件\Task + + + 头文件\Configer + + + 头文件\Task + + + 头文件\Task + + + 头文件\Task + + + 头文件\Task + + + + + 源文件 + + + 源文件 + + + 源文件\Configer + + + 源文件 + + + 源文件\Configer + + + 源文件\Configer + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Caller + + + 源文件\Updater + + + 源文件\Task + + + 源文件\Configer + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + + + 资源文件 + + + 资源文件 + + + 资源文件 + + \ No newline at end of file diff --git a/MeoAssistance/OcrAbstractTask.cpp b/src/MeoAssistance/OcrAbstractTask.cpp similarity index 96% rename from MeoAssistance/OcrAbstractTask.cpp rename to src/MeoAssistance/OcrAbstractTask.cpp index c8de0b92a7..16e03abef7 100644 --- a/MeoAssistance/OcrAbstractTask.cpp +++ b/src/MeoAssistance/OcrAbstractTask.cpp @@ -1,43 +1,43 @@ -#include "OcrAbstractTask.h" - -#include - -#include "AsstAux.h" -#include "Identify.h" -#include "WinMacro.h" - -using namespace asst; - -std::vector