Browse Source

移动到错误处理区域时保存当前相机截图

master
sige 1 year ago
parent
commit
c61842d5dd
  1. 22
      src/src/main/java/com/my/graphiteDigesterBg/task/TaskTubeMoveToErrorSlot.java

22
src/src/main/java/com/my/graphiteDigesterBg/task/TaskTubeMoveToErrorSlot.java

@ -2,9 +2,15 @@ package com.my.graphiteDigesterBg.task;
import com.my.graphiteDigesterBg.diframe.DiTaskBase;
import com.my.graphiteDigesterBg.diframe.Task;
import com.my.graphiteDigesterBg.model.MdbOperationLog;
import com.my.graphiteDigesterBg.move.MoveCameraGrabFrame;
import com.my.graphiteDigesterBg.move.MoveMoveTubeRackFromLiquidPlateToHeatPlate;
import com.my.graphiteDigesterBg.move.MoveTubeToErrorRackSlot;
import com.my.graphiteDigesterBg.resource.ResHeatingTubeRackSlotManager;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@Task(name="TubeMoveToErrorSlot")
public class TaskTubeMoveToErrorSlot extends DiTaskBase {
@ -30,6 +36,7 @@ public class TaskTubeMoveToErrorSlot extends DiTaskBase {
}
MdbOperationLog.log(this.getUser(), "试管架%d移动试管到异常位", slotIndex);
this.saveErrorCameraImage();
// move tube rack from liquid plate to heat plate
var move = new MoveMoveTubeRackFromLiquidPlateToHeatPlate();
@ -51,4 +58,19 @@ public class TaskTubeMoveToErrorSlot extends DiTaskBase {
this.setStatus(TaskStatus.FINISHED);
}
// save error camera image
private void saveErrorCameraImage() {
var cameraGrabFrame = new MoveCameraGrabFrame();
cameraGrabFrame.setDevice(this.getDevice());
cameraGrabFrame.run();
var imgMat = cameraGrabFrame.getDetectImageMat();
var errorImageFolder = this.getDevice().getEnv().getProperty("app.errorImageFolder",String.class);
var filename = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
// join slot index list
var slotIndexList = String.join("-", this.tubeIndexList.stream().map(Object::toString).toArray(String[]::new));
var imgPath = String.format("%s/%s_%s.png", errorImageFolder, filename, slotIndexList);
Imgcodecs.imwrite(imgPath, imgMat);
}
}
Loading…
Cancel
Save