This program uses OpenCV to process CameraX information.
OpenCV 3.4.1
compileSdkVersion 31
buildToolsVersion "29.0.2"
minSdkVersion 28
targetSdkVersion 31
compileSdkVersion 31
buildToolsVersion "30.0.3"
minSdkVersion 28
targetSdkVersion 31
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
MainActivity Path : /app/src/main/java/com/example/opencvcolordetection/
imageAnalysis = new ImageAnalysis.Builder().setTargetResolution(new Size(176, 144))
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST).build();At setTargetResolution(new Size(x, y)), set the resolution.
private class MyImageAnalyzer implements ImageAnalysis.Analyzer {
private Mat matPrevious = null;
@Override
public void analyze(@NonNull ImageProxy image) {
Mat matOrg = getMatFromImage(image);
Mat mat = fixMatRotation(matOrg);
if (matPrevious == null) matPrevious = mat;
matPrevious = mat;
Bitmap bitmap = Bitmap.createBitmap(matPrevious.cols(), matPrevious.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(matPrevious, bitmap);
//Describe the process you want to process in this class
image.close();
}In this case, if you continue to take the average of the RGB, you can see it in the log.
Processing speed has been increased by cutting the library files by about one-third.
For more information, tap the logo above and visit the official website.
If you found this helpful, please give us a star.