Bonjour,
Je realise en ce moment une application de traitement d'image sur android.
Lorsque je récupère une frame par la méthode :
Je me retrouve avec une image avec une rotation de 90 degres par rapport à la vue normale celle de mon surfaceView.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Camera.PreviewCallback mPreviewCallback = new Camera.PreviewCallback() { @Override public void onPreviewFrame(byte[] data, Camera camera) {
Déjà pour corriger l'orientation de la vue dans mon surfaceView, j'ai du faire les modifications suivantes :
Savez-vous comment je peux obtenir une image avec la bonne rotation dans mon callback ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public void surfaceCreated(SurfaceHolder holder) { Log.e(TAG, "surfaceCreated"); mCamera = Camera.open(); mCamera.setDisplayOrientation(90); Camera.Parameters p = mCamera.getParameters(); p.set("jpeg-quality", 100); p.setRotation(90); p.setPictureFormat(PixelFormat.JPEG); int w = p.getPreviewSize().width; int h = p.getPreviewSize().height; p.setPreviewSize(h, w); mCamera.setParameters(p); }
Sinon comment puis-je appliquer une rotation de 90 sur mon byte[] ?
Merci pour votre aide.
Partager