Android 용 JavaCV가있는 Stitcher의 ExceptionInitializerError
-
26-12-2019 - |
문제
Android에서 javacv로 이미지 스티칭을 위해이 코드를 사용하고 있습니다.
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 ...
.
및 오류는 스티 처이 설치 프로그램을 가리키며 내 코드의 첫 번째 줄입니다.Stitcher stitcher;
를하려고하면 끊지는 않지만 스티 처이 초기화되지 않기 때문에 다른 것을 할 수 없습니다.null
로 초기화하려고하면 동일한 오류로 충돌이 발생합니다.
문제에 대한 아이디어가 있습니까?나는 잠시만 검색하고 모든 사람들이 그것을 사용하고 일하는 것처럼 보입니다.
해결책 2
확인, 알았습니다.
문제는 opencv_stitching.so가 armeabi 폴더에만 있고 armeabi-V7A 하나에서 필요했습니다.스티커를 선언하고 초기화 할 수 없습니다.
다른 팁
exceptionInitializerError
은 정적 이니셜 라이저에서 예기치 않은 예외가 발생한 신호입니다.exceptionInInitializerError가 정적 변수에 대한 정적 초기화 프로그램 또는 이니셜 라이저의 평가 중에 예외가 발생했음을 나타냅니다.
나는
와 같은 일을 할 것입니다.Stitcher stitcher;
{
try {
stitcher = Stitcher.createDefault(false);
} catch (Throwable t) {
t.printStackTrace();
throw t;
}
}
.
예외 추적에 의해 야기 된 에서 에있는 에있는 에 대한 정보가 있지 않은 경우 실제로 일어나는 일을 확인하십시오.
PS 때로는 오류가 잘못된 스레드 (예 : Android의 초기 버전에서 AsyncTask 클래스가 필요합니다.
제휴하지 않습니다 StackOverflow