OpenCV、Android、Android Studio:从视频URI检测对象
我对android应用程序开发还很陌生,目前我正在进行一个学校项目,该项目要求我的应用程序使用我的android手机捕获视频,然后检测一个对象。在这种情况下,该对象是一个AA电池,使用openCV,在捕获的视频中。我想知道如何让OpenCV使用视频的uri检测预捕获视频中的对象,我只能使用OpenCV的javaCameraView实时检测对象 如果OpenCV无法仅使用视频的URI进行检测,还有其他可能的方法吗?请注意,我必须使用openCV,因为这是一个学校项目 以下是我的视频捕获java代码:OpenCV、Android、Android Studio:从视频URI检测对象,android,android-studio,opencv,feature-detection,video-tracking,Android,Android Studio,Opencv,Feature Detection,Video Tracking,我对android应用程序开发还很陌生,目前我正在进行一个学校项目,该项目要求我的应用程序使用我的android手机捕获视频,然后检测一个对象。在这种情况下,该对象是一个AA电池,使用openCV,在捕获的视频中。我想知道如何让OpenCV使用视频的uri检测预捕获视频中的对象,我只能使用OpenCV的javaCameraView实时检测对象 如果OpenCV无法仅使用视频的URI进行检测,还有其他可能的方法吗?请注意,我必须使用openCV,因为这是一个学校项目 以下是我的视频捕获java代码
public class MainActivity extends AppCompatActivity {
private Button mRecordView, mPlayView;
private VideoView mVideoView;
private Intent callVideoAppIntent;
private int ACTIVITY_START_CAMERA_APP = 0;
public Uri videoUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecordView = (Button) findViewById(R.id.btnRecord);
mPlayView = (Button) findViewById(R.id.btnPlay);
mVideoView = (VideoView) findViewById(R.id.videoview);
//Record Button OnClickListener
mRecordView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callVideoAppIntent = new Intent();
callVideoAppIntent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
//startActivityForResult(Intent, int RequestCode);
//application capture video using phone camera,
//then returns to application after stopping.
startActivityForResult(callVideoAppIntent, ACTIVITY_START_CAMERA_APP);
}
});
//Play Button OnClickListener
mPlayView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mVideoView.start();
mPlayView.setEnabled(false);
mRecordView.setEnabled(false);
}
});
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mPlayView.setEnabled(true);
mRecordView.setEnabled(true);
}
});
}
//Once video captured and returned to application,
//we need to capture response,
//on activty result function.
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == ACTIVITY_START_CAMERA_APP && resultCode == RESULT_OK) {
videoUri = data.getData();
mVideoView.setVideoURI(videoUri);
}
}
}Hello@Tix你成功了吗?我遇到了同样的问题我很抱歉@karandepatwal,我仍然没有解决这个问题。