Android: BitmapFactory.decodeFile / OpenCV возвращает неиспользованное растровое изображение

Я делаю снимок с активностью камеры, а затем пытаюсь прочитать его из сохраненного местоположения. К сожалению, растровое изображение возвращается:

Bitmap bimage = BitmapFactory.decodeFile( path );

имеет высоту и ширину = -1. Я использую OpenCV и когда я читаю изображение с

Mat img = Highgui.imread(path);

Я получаю правильную матрицу. Хотя я не могу преобразовать его в растровое изображение. При выполнении

bmp = Bitmap.createBitmap(img.cols(), img.rows(), Config.ARGB_8888);
Utils.matToBitmap(img, bmp);

Я снова получаю тот же результат: растровое изображение с шириной и высотой = -1. Нужно ли следить за форматом изображения? Могу ли я установить это на камеру намерения? не должны

BitmapFactory.decodeFile( path );

автоматически понять, что это за формат?

Я запускаю это на Samsung Galaxy S с Android 2.3.1 и OpenCV 2.3.1

Спасибо за вашу помощь.

1 ответ

Решение

У Samsung есть некоторые проблемы с намерением камеры. Захват фотографий. Намерение вызывает исключение NullPointerException только на телефонах Samsung.

Попробуй так

// вызвать камеру

String _path = Environment.getExternalStorageDirectory()
                    + File.separator + "TakenFromCamera.png";
            File file = new File(_path);
            Uri outputFileUri = Uri.fromFile(file);
            Intent intent = new Intent(
                    android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
            startActivityForResult(intent, 1212);

// в действии onResult

if (requestCode == 1212) {
            String _path = Environment.getExternalStorageDirectory()
                    + File.separator + "TakenFromCamera.png";
            mBitmap = BitmapFactory.decodeFile(_path);
            if (mBitmap == null) {
            } else {
                Intent intent = new Intent(AYGCamActivity.this,
                        myGalleryImage.class);

                startActivity(intent);
            }

        }
Другие вопросы по тегам