我需要创建四个箭头(向上、向下、向左和向右)并将它们实时放在框架上。我正在做一些实时图像处理工作,并根据我需要实时显示箭头的函数结果在框架上。从以下位置获取帧后: 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; }基本上它应该是这样的:如果缺少任何有用的代码,请告诉我并添加它。
添加回答
举报
0/150
提交
取消