猿问

如何绘制箭头,放在框架上并实时显示?

我需要创建四个箭头(向上、向下、向左和向右)并将它们实时放在框架上。我正在做一些实时图像处理工作,并根据我需要实时显示箭头的函数结果在框架上。从以下位置获取帧后:


 public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {


    mRgba = inputFrame.rgba();

    mGray = inputFrame.gray();

    if(state){


        myTask= new MyTask();

        myTask.execute(mRgba);

        //need to write method to display arrow

        return mRgba;

    }

    return mRgba;

}

它调用异步任务来执行方法识别并设置需要显示哪个箭头。现在如果开始帧和其他帧相同则返回1。我需要知道如何制作箭头并将其显示在框架上。我稍后将制定一个算法来确定方向,因此让我们假设当 return 为 1 时,我需要在框架中显示向上箭头。我的异步任务是:


class MyTask extends AsyncTask<Mat, Void, Integer> {


    @Override

    protected void onPreExecute() {

        super.onPreExecute();

    }


    @Override

    protected Integer doInBackground(Mat... mats) {

        if(!isCancelled())

        return recognize(mats[0]);

        else return 0;

    }


    @Override

    protected void onPostExecute(Integer integer) {

        super.onPostExecute(integer);

        directionOfCamera=integer;

    }


    @Override

    protected void onCancelled() {

        super.onCancelled();

    }

}

识别方法是:


public int recognize(Mat inputFrame) {


    if (startedFrame){


        deskriptor.detect(inputFrame,keypoints1);

        deskriptor.compute(inputFrame,keypoints1,deskriptor1);


        startedFrame=false;

        return 0;

    }

基本上它应该是这样的:


如果缺少任何有用的代码,请告诉我并添加它。


明月笑刀无情
浏览 136回答 1
1回答

千万里不及你

作为解决方案 - 在 Adobe After Effects 中绘制箭头并使用此AirBnB 库来实现它
随时随地看视频慕课网APP

相关分类

Java
我要回答