如何在Android Studio中1秒后从视频中捕获图像
我不熟悉安卓和图像处理。到目前为止,我所做的是制作一个精明的视频(运行正常) 并在触摸屏上拍摄图像。然后图像被存储到一个目录中。(这也正常运行) 我努力实现的目标是: 在定时器或延迟一秒钟后从视频中捕获图像并将其存储在目录中。我不知道怎么做。我在OnCameraFrame中复制了Ontouch()中的代码,并为mOpenCvCameraView.takePicture(文件名)设置了一个计时器,尝试了使用计时器和倒计时; 但他们不为我工作 编辑:我正在尝试这样做,但在我的情况下不起作用。我想在1秒后捕捉图像,而不是在触摸事件之后。有什么建议吗如何在Android Studio中1秒后从视频中捕获图像,android,opencv,image-processing,timer,Android,Opencv,Image Processing,Timer,我不熟悉安卓和图像处理。到目前为止,我所做的是制作一个精明的视频(运行正常) 并在触摸屏上拍摄图像。然后图像被存储到一个目录中。(这也正常运行) 我努力实现的目标是: 在定时器或延迟一秒钟后从视频中捕获图像并将其存储在目录中。我不知道怎么做。我在OnCameraFrame中复制了Ontouch()中的代码,并为mOpenCvCameraView.takePicture(文件名)设置了一个计时器,尝试了使用计时器和倒计时; 但他们不为我工作 编辑:我正在尝试这样做,但在我的情况下不起作用。我想在1
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
String currentDateAndTime = simpleDateFormat.format(new Date());
final String fileName = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/sample_picture_" + currentDateAndTime + ".jpg";
mOpenCvCameraView.takePicture(fileName);
}
}, 0, 1000);
@SuppressLint("SimpleDateFormat")
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i(TAG,"onTouch event");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
String currentDateAndTime = simpleDateFormat.format(new Date());
//String fileName = Environment.getExternalStorageDirectory().getPath() + "/sample_picture_" + currentDateandTime + ".jpg";
//String test = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath();
final String fileName = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/sample_picture_" + currentDateAndTime + ".jpg";
mOpenCvCameraView.takePicture(fileName);
Toast.makeText(this, fileName + " saved", Toast.LENGTH_LONG).show();
return false;
}
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
String currentDateAndTime = simpleDateFormat.format(new Date());
final String fileName = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/sample_picture_" + currentDateAndTime + ".jpg";
mOpenCvCameraView.takePicture(fileName);
}
}, 0, 1000);