J'ai réussi à dessiner un rectangle de superposition afin que le contenu du rectangle soit le seul à être traité et que l'application ignore le reste de la région de la caméra. link to ScreenshotRecadrer la sous-section rectangle sur camera2 et la passer à opencv pour traitement
Le problème est que je veux recadrer le rectangle ci-dessus sur la fonction onimagaavailable comme indiqué ci-dessous:
@Override
public void onImageAvailable(ImageReader reader) {
Image img = reader.acquireLatestImage();
//THIS IS WHERE I WANT TO CROP THE IMAGE TO ONLY SHOW WHAT WAS IN THE
// ABOVE DRAWN RECTANGLE BUT I DONT KNOW HOW, I HAVE GOOGLED FOR THE
// PAST WEEK ON THIS
//after processing i should pass the image to my opencv processing
//algorithm
process(img)
}
Ceci est mon code pour dessiner la superposition de rectangle sur le dessus de camera2
@Override
protected void onDraw(Canvas canvas) { // Override the onDraw() Method
super.onDraw(canvas);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.WHITE);
paint.setStrokeWidth(10);
int width = canvas.getWidth()/2;
int height = canvas.getHeight()/4;
int height1 = canvas.getHeight()/3;
int height_1 = canvas.getHeight()/10;
int fin = canvas.getWidth() + canvas.getWidth()/3;
int top = height/4;
Log.e("top", top + "");
canvas.drawRect(canvas.getWidth() - (canvas.getWidth() - 150),
canvas.getHeight() - fin, canvas.getWidth() - 150, height + top, paint);
}
Veuillez help/dites-moi quel code je peux utiliser pour rogner le rectangle de l'image ImageReader afin que je puisse passer l'image recadrée à mon algorithme de traitement
Notez que vous pouvez utiliser la caméra OpenCV et recadrer l'image d'aperçu dans 'onCameraFrame()' de sorte que le même sous-tapis soit affiché et traité. Voir https://stackoverflow.com/a/47519725/192373 –