Je travaille sur une application Android qui utilise OpenCV 3.1.0 et affiche l'aperçu de la caméra. Initialement, nous appelons setMaxFrameSize (640, 480) car le traitement requis est lourd et nous n'avons pas besoin de la meilleure qualité vidéo offerte par la caméra. L'application fonctionne bien sur tous les appareils sauf le téléphone du client. Histoire classique hein?setPreviewSize dans OpenCV
Le problème exact est le fait que même si nous fixons explicitement la taille du cadre max pour être 640 x 480, sur son appareil (Samsung J3) la résolution sera de 1280 x 720.
Je regardé à l'intérieur fichier JavaCameraView à partir d'OpenCV et appelé getSupportedPreviewSizes. 640 x 480 est dans cette liste. Tout fonctionne bien, nous définissons quelques paramètres et à la fin nous appelons mCamera.setParameters (params);
La ligne suivante de la classe est: params = mCamera.getParameters();
Lors du réglage des paramètres, params.getPreviewSize() = 640 x 480. Après avoir appelé mCamera.getParameters(), le params.getPreviewSize() sera 1280 x 720. Et il est seulement reproduire sur cet appareil. J'ai testé l'application sur Nexus 6P, Samsung S6, tablette Samsung et un couple de téléphones et tout fonctionne très bien, la résolution est de 640 x 480. Mais sur Samsung J3 quelle que soit la résolution que je règle, l'appareil photo afficher un cadre de 1280 x 720.
Merci!
Mise à jour: 2 jours plus tard. N'a pas trouvé de solution.
Merci Alex! –