openCv onCameraFrame пытается вызвать TextView.setText ()

1

Когда я пытаюсь использовать setText() внутри onCameraFrame, я испытываю этот сбой:

 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 

По сути, у меня есть та же проблема, описанная здесь: Android & OpenCV - сбой приложения при изменении пользовательского интерфейса

но предложенное решение, похоже, не работает.

@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
    frame=inputFrame.rgba();
    int match_method = Imgproc.TM_CCOEFF;

    // / result matrix
    int result_cols = frame.cols() - templ.cols() + 1;
    int result_rows = frame.rows() - templ.rows() + 1;
    Mat result = new Mat(result_rows, result_cols, CvType.CV_32FC1);

    // / Matching
    Imgproc.matchTemplate(frame, frame, result, match_method);

    Core.normalize(result, result, 0, 1, Core.NORM_MINMAX, -1, new Mat());
    Core.MinMaxLocResult mmr = Core.minMaxLoc(result);

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            myTextElement.setText("aa");
        }
    });
Теги:
multithreading
textview
opencv4android
android-runonuithread

1 ответ

0

Проблема решена, включая в run() findViewByID, который в противном случае возвращает ноль. и setText() вызывает исключение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню