Вопрос

Я использую этот код для сшивания изображений с javacv на Android:

public void ImageStitching() {
    Stitcher stitcher = Stitcher.createDefault(false);
    MatVector images = new MatVector(2);
    images.put(0,cvLoadImage("sample1.png"));
    images.put(1,cvLoadImage("sample2.png"));

    IplImage result = new IplImage(null);
    int status = stitcher.stitch(images,result);

    if( status == Stitcher.OK )
    {
        cvSaveImage("result.png", result);
    }
}
.

Но когда я выполняю его, приложение вылетает и журнал показывает следующую ошибку:

java.lang.ExceptionInInitializerError at ...
.

и ошибка указывает на инициализацию Shower, первую строку моего кода.Если я попытаюсь сделать Stitcher stitcher;, он не ломается, но я не могу ничего сделать, так как sthower не инициализируется.Если я попытаюсь инициализировать его на null, он сбивает с собой ту же ошибку.

Любое представление о проблеме?Я искал некоторое время, и все люди используют это, и кажется, работает.

Это было полезно?

Решение 2

Хорошо, я получил это.

Проблема заключалась в том, что библиотека OpenC_Stitching.so была только в папке Armeabi, и мне нужно в ARMEABI-V7A One.Не я могу объявить шлюш и инициализировать его.

Другие советы

ExceptionInInitializerError

сигналы, что неожиданное исключение произошло в статическом инициаторе.ExceptionInInitializerError брошен, чтобы указать, что исключение произошло во время оценки статического инициализатора или инициализатора для статической переменной.

Я бы сделал что-то вроде

Stitcher stitcher;
{
    try {
        stitcher = Stitcher.createDefault(false);
    } catch (Throwable t) {
        t.printStackTrace();
        throw t;
    }
}
.

И посмотрите, что действительно происходит - если вы не у вас нет этой информации в , вызванные пунктом Trace исключения.

ps Иногда ошибки случаются, когда класс инициализирован на неправильной поток (например, в ранних версиях Android класса Asynctask требуется явную инициализацию в основной ните в приложении, которое в противном случае загружается бы этот класс на рабочей нити).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top