【问题标题】:opencv onCameraFrame attempt to invoke TextView.setText()opencv onCameraFrame 尝试调用 TextView.setText()
【发布时间】:2019-04-10 02:28:55
【问题描述】:

当我尝试在 onCameraFrame 中使用 setText() 时,我遇到了这个崩溃:

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

基本上我在这里描述了同样的问题: Android & OpenCV - App crashes on UI change

但建议的解决方案似乎不起作用。

@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");
        }
    });

【问题讨论】:

    标签: android multithreading textview opencv4android android-runonuithread


    【解决方案1】:

    问题已解决,包括在 run() 中的 findViewByID,否则返回 null。并且 setText() 会引发异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多