简体   繁体   English

无法在Android的OpenCV中解析putText()

[英]Cannot resolve putText( ) in OpenCV with Android

I am developing a OCR app with OpenCV. 我正在使用OpenCV开发OCR应用程序。 For that I created onCameraFrame() , but showing 'Cannot resolve method putText()'. 为此,我创建了onCameraFrame() ,但显示了“无法解析方法putText()”。 I found some answers from stackOverFlow that saying to 我从stackOverFlow找到了一些答案,说

import org.opencv.core.Point; 导入org.opencv.core.Point;

But I already import both 但是我已经都导入了

org.opencv.core.Point; org.opencv.core.Point; org.opencv.core.Scalar; org.opencv.core.Scalar;

but still showing same error. 但仍显示相同的错误。 Any other way to resolve this error? 还有其他解决此错误的方法吗? Thanks in Advance. 提前致谢。 Please help me. 请帮我。

public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inFrame) {
Mat inputFrame = inFrame.rgba();

    inputFrame.copyTo(mRgba);

   switch (HelloV.viewMode) {

        case HelloV.VIEW_MODE_RGBA: {

            //cannot resolve method putText 
            Core.putText(mRgba, "Video Mode", new Point(10, 50), 3, 1, 

         new Scalar(255, 0, 0, 255), 2);

            // Update start recordtime until starting recording

        }break;

        case HelloV.SAVE_IMAGE_MAT: {

            long curTime = new Date().getTime();
  //cannot resolve method putText
    Core.putText(mRgba, "Record Mode", new Point(10, 50), 3, 1,                   

           new Scalar(255, 0, 0, 255), 2);
           long timeDiff = curTime - recordStart;   

           Log.i("timeDiff",Long.toString(timeDiff));

           if ( timeDiff < MAX_VIDEO_INTERVAL_IN_SECONDS) {
                if ((mframeNum % FRAME2GRAB) == 0) {
                    saveImageToArray(inputFrame);
                    mframeNum++;
                }
                else
                    mframeNum++;
            }
            else
            {
                mframeNum = 0;
                turnOffCapture();
            }
        }break;
        case HelloV.CAPT_STILL_IM :
        {
            saveImageToArray(inputFrame);

            //RIGHT HERE IS WHERE I NEED TO MODIFY!  CAPTURE IMAGE
            //WITH THE CAMERA INSTEAD OF USING THE PREVIEW.
            //IF I CAN DO THIS, WE CAN GET AND STITCH FULL-RES IMAGES...
            //Camera.Parameters params = mCamera.getParameters();
            //Mat theImage = imageCapturer.getCapturedImage(1);
            //saveImageToArray(theImage);
            HelloV.viewMode = HelloV.VIEW_MODE_RGBA;
        }
    }
    return mRgba;
}

It depends on Android OpenCV library version: from version 3.0 .putText() (with same parameters) moved from Core to Imgproc class. 它取决于Android OpenCV库版本:从版本3.0 .putText() (具有相同参数)从Core移到Imgproc类。 So you should use: 因此,您应该使用:

Imgproc.putText(mRgba, "Video Mode", new Point(10, 50), 3, 1, new Scalar(255, 0, 0, 255), 2);

instead of: 代替:

Core.putText(mRgba, "Video Mode", new Point(10, 50), 3, 1, new Scalar(255, 0, 0, 255), 2);

and so on. 等等。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM