PreviewFrame : Camera -> rotation de 90 degree en mode portrait
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 :
Code:
1 2 3 4 5
|
Camera.PreviewCallback mPreviewCallback = new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) { |
Je me retrouve avec une image avec une rotation de 90 degres par rapport à la vue normale celle de mon surfaceView.
Déjà pour corriger l'orientation de la vue dans mon surfaceView, j'ai du faire les modifications suivantes :
Code:
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);
} |
Savez-vous comment je peux obtenir une image avec la bonne rotation dans mon callback ?
Sinon comment puis-je appliquer une rotation de 90 sur mon byte[] ?
Merci pour votre aide.