1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +04:00

Merge branch 4.x

This commit is contained in:
Alexander Smorkalov
2024-01-23 17:06:52 +03:00
148 changed files with 3263 additions and 1564 deletions
+1 -2
View File
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == 'sdk_path') {
println 'Using OpenCV from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == 'maven_local' || gradle.opencv_source == 'maven_cenral') {
} else if (gradle.opencv_source == 'maven_local' || gradle.opencv_source == 'maven_central') {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -11,7 +11,6 @@
android:exported="true"
android:name="FaceDetectActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -184,8 +184,9 @@ public class FaceDetectActivity extends CameraActivity implements CvCameraViewLi
mRgba = inputFrame.rgba();
if (mInputSize == null) {
mInputSize = new Size(Math.round(mRgba.cols()/mScale), Math.round(mRgba.rows()/mScale));
Size inputSize = new Size(Math.round(mRgba.cols()/mScale), Math.round(mRgba.rows()/mScale));
if (mInputSize == null || !mInputSize.equals(inputSize)) {
mInputSize = inputSize;
mFaceDetector.setInputSize(mInputSize);
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
+1 -2
View File
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -30,7 +29,7 @@ dependencies {
//implementation fileTree(dir: 'libs', include: ['*.jar'])
if (gradle.opencv_source == "sdk_path") {
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -12,7 +12,6 @@
android:exported="true"
android:name="Tutorial1Activity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -27,13 +26,13 @@
android:largeScreens="true"
android:anyDensity="true" />
//! [camera_permissions]
<!--[camera_permissions]-->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>
//! [camera_permissions]
<!--[camera_permissions]-->
</manifest>
@@ -33,7 +33,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -44,7 +43,7 @@ android {
}
}
buildFeatures {
if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
prefab true
}
}
@@ -55,7 +54,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -31,7 +30,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -35,7 +35,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -46,7 +45,7 @@ android {
}
}
buildFeatures {
if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
prefab true
}
}
@@ -57,7 +56,7 @@ dependencies {
if (gradle.opencv_source == "sdk_path") {
println 'Using OpenCV from SDK'
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
println 'Using OpenCV from Maven repo'
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
@@ -19,7 +19,6 @@ android {
sourceSets {
main {
java.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
aidl.srcDirs = @ANDROID_SAMPLE_JAVA_PATH@
res.srcDirs = @ANDROID_SAMPLE_RES_PATH@
manifest.srcFile '@ANDROID_SAMPLE_MANIFEST_PATH@'
}
@@ -30,7 +29,7 @@ dependencies {
//implementation fileTree(dir: 'libs', include: ['*.jar'])
if (gradle.opencv_source == "sdk_path") {
implementation project(':opencv')
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_cenral") {
} else if (gradle.opencv_source == "maven_local" || gradle.opencv_source == "maven_central") {
implementation 'org.opencv:opencv:@OPENCV_VERSION_PLAIN@'
}
}
@@ -2,6 +2,8 @@
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#define PARALLEL_FOR_LAMBDA
using namespace std;
using namespace cv;
@@ -33,6 +35,8 @@ int mandelbrotFormula(const complex<float> &z0, const int maxIter=500) {
}
//! [mandelbrot-grayscale-value]
#ifndef PARALLEL_FOR_LAMBDA
//! [mandelbrot-parallel]
class ParallelMandelbrot : public ParallelLoopBody
{
@@ -71,6 +75,8 @@ private:
};
//! [mandelbrot-parallel]
#endif // !PARALLEL_FOR_LAMBDA
//! [mandelbrot-sequential]
void sequentialMandelbrot(Mat &img, const float x1, const float y1, const float scaleX, const float scaleY)
{
@@ -102,7 +108,7 @@ int main()
double t1 = (double) getTickCount();
#ifdef CV_CXX11
#ifdef PARALLEL_FOR_LAMBDA
//! [mandelbrot-parallel-call-cxx11]
parallel_for_(Range(0, mandelbrotImg.rows*mandelbrotImg.cols), [&](const Range& range){
@@ -121,14 +127,14 @@ int main()
});
//! [mandelbrot-parallel-call-cxx11]
#else
#else // PARALLEL_FOR_LAMBDA
//! [mandelbrot-parallel-call]
ParallelMandelbrot parallelMandelbrot(mandelbrotImg, x1, y1, scaleX, scaleY);
parallel_for_(Range(0, mandelbrotImg.rows*mandelbrotImg.cols), parallelMandelbrot);
//! [mandelbrot-parallel-call]
#endif
#endif // PARALLEL_FOR_LAMBDA
t1 = ((double) getTickCount() - t1) / getTickFrequency();
cout << "Parallel Mandelbrot: " << t1 << " s" << endl;
@@ -4,6 +4,8 @@
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#define PARALLEL_FOR_LAMBDA
using namespace std;
using namespace cv;
@@ -47,7 +49,8 @@ void conv_seq(Mat src, Mat &dst, Mat kernel)
}
//! [convolution-sequential]
#ifdef CV_CXX11
#ifdef PARALLEL_FOR_LAMBDA
void conv_parallel(Mat src, Mat &dst, Mat kernel)
{
int rows = src.rows, cols = src.cols;
@@ -118,7 +121,8 @@ void conv_parallel_row_split(Mat src, Mat &dst, Mat kernel)
});
//! [convolution-parallel-cxx11-row-split]
}
#else
#else // PARALLEL_FOR_LAMBDA
//! [convolution-parallel]
class parallelConvolution : public ParallelLoopBody
@@ -235,7 +239,7 @@ void conv_parallel_row_split(Mat src, Mat &dst, Mat kernel)
//! [convolution-parallel-function-row]
}
#endif
#endif // PARALLEL_FOR_LAMBDA
static void help(char *progName)
{
@@ -329,4 +333,4 @@ int main(int argc, char *argv[])
// imwrite("dst.png", dst);
return 0;
}
}
@@ -59,12 +59,12 @@ int main(int,char**)
cout << "C = " << endl << " " << C << endl << endl;
//! [comma]
// do the same with initializer_list
#ifdef CV_CXX11
//! [list]
C = (Mat_<double>({0, -1, 0, -1, 5, -1, 0, -1, 0})).reshape(3);
cout << "C = " << endl << " " << C << endl << endl;
//! [list]
#endif
//! [clone]
Mat RowClone = C.row(1).clone();
cout << "RowClone = " << endl << " " << RowClone << endl << endl;
+1 -1
View File
@@ -5,7 +5,7 @@
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#if defined(CV_CXX11) && defined(HAVE_THREADS)
#if defined(HAVE_THREADS)
#define USE_THREADS 1
#endif