18 changed files with 196 additions and 51 deletions
-
BINapp.db
-
116src/main/java/com/iflytop/digester/DigestionTaskThread.java
-
BINsrc/main/java/com/iflytop/digester/camera/.vs/baslerCamera/FileContentIndex/003a4049-43a8-4685-b725-0ef981a63d09.vsidx
-
BINsrc/main/java/com/iflytop/digester/camera/.vs/baslerCamera/FileContentIndex/32a71717-b8c7-4106-8f15-99bbd922817c.vsidx
-
BINsrc/main/java/com/iflytop/digester/camera/.vs/baslerCamera/FileContentIndex/3ffb981f-6afa-4d2f-a956-f6e71b0a3ff7.vsidx
-
BINsrc/main/java/com/iflytop/digester/camera/.vs/baslerCamera/v17/.suo
-
BINsrc/main/java/com/iflytop/digester/camera/.vs/baslerCamera/v17/Browse.VC.db
-
2src/main/java/com/iflytop/digester/camera/DiComBaslerCamera.cpp
-
29src/main/java/com/iflytop/digester/controller/CameraController.java
-
25src/main/java/com/iflytop/digester/controller/TestController.java
-
12src/main/java/com/iflytop/digester/deviceinstance/LiquidAdditionInstance.java
-
6src/main/java/com/iflytop/digester/deviceinstance/TransferRobotArmInstance.java
-
6src/main/java/com/iflytop/digester/model/MdbDigestionSolution.java
-
9src/main/java/com/iflytop/digester/model/MdbDigestionTaskLog.java
-
38src/main/java/com/iflytop/digester/underframework/connection/UfZcancmderWebsocket.java
-
2src/main/resources/application-dev.yml
-
2web
@ -1,15 +1,42 @@ |
|||||
package com.iflytop.digester.controller; |
package com.iflytop.digester.controller; |
||||
|
import com.iflytop.digester.deviceinstance.Device; |
||||
import com.iflytop.digester.underframework.controller.UfApiControllerBase; |
import com.iflytop.digester.underframework.controller.UfApiControllerBase; |
||||
import com.iflytop.digester.underframework.controller.UfApiResponse; |
import com.iflytop.digester.underframework.controller.UfApiResponse; |
||||
|
import jakarta.annotation.Resource; |
||||
|
import org.opencv.core.Core; |
||||
|
import org.opencv.core.Mat; |
||||
|
import org.opencv.core.MatOfByte; |
||||
|
import org.opencv.core.Rect; |
||||
|
import org.opencv.imgcodecs.Imgcodecs; |
||||
import org.springframework.stereotype.Controller; |
import org.springframework.stereotype.Controller; |
||||
import org.springframework.web.bind.annotation.PostMapping; |
import org.springframework.web.bind.annotation.PostMapping; |
||||
import org.springframework.web.bind.annotation.ResponseBody; |
import org.springframework.web.bind.annotation.ResponseBody; |
||||
|
|
||||
|
import java.util.Base64; |
||||
import java.util.Map; |
import java.util.Map; |
||||
@Controller |
@Controller |
||||
public class CameraController extends UfApiControllerBase { |
public class CameraController extends UfApiControllerBase { |
||||
|
@Resource |
||||
|
private Device device; |
||||
|
|
||||
@ResponseBody |
@ResponseBody |
||||
@PostMapping("/api/camera/take-shot") |
@PostMapping("/api/camera/take-shot") |
||||
public UfApiResponse takeShot() { |
public UfApiResponse takeShot() { |
||||
return this.success(Map.of("data", "https://avatars.githubusercontent.com/u/53512912?v=4")); |
|
||||
|
var srcImageMat = this.device.camera.grabToMat(); |
||||
|
|
||||
|
// 翻转图像 |
||||
|
Mat flippedImgMat = new Mat(); |
||||
|
Core.flip(srcImageMat, flippedImgMat, 1); |
||||
|
|
||||
|
// 裁剪图像 |
||||
|
Rect croppedRoi = new Rect(240, 120, 800, 800); |
||||
|
Mat croppedImgMat = new Mat(flippedImgMat, croppedRoi); |
||||
|
|
||||
|
MatOfByte imageMob = new MatOfByte(); |
||||
|
Imgcodecs.imencode(".png", croppedImgMat, imageMob); |
||||
|
byte[] imageBytes = imageMob.toArray(); |
||||
|
String base64Image = Base64.getEncoder().encodeToString(imageBytes); |
||||
|
String base64Data = "data:image/image/png;base64," + base64Image; |
||||
|
return this.success(Map.of("data",base64Data)); |
||||
} |
} |
||||
} |
} |
@ -0,0 +1,25 @@ |
|||||
|
package com.iflytop.digester.controller; |
||||
|
import com.iflytop.digester.deviceinstance.Device; |
||||
|
import com.iflytop.digester.underframework.controller.UfApiControllerBase; |
||||
|
import com.iflytop.digester.underframework.controller.UfApiResponse; |
||||
|
import jakarta.annotation.Resource; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||
|
import org.springframework.web.bind.annotation.ResponseBody; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
@Controller |
||||
|
public class TestController extends UfApiControllerBase { |
||||
|
@Resource |
||||
|
private Device device; |
||||
|
|
||||
|
@ResponseBody |
||||
|
@PostMapping("/api/test/move-tube-from-error-slot-to-liquid-plate") |
||||
|
public UfApiResponse moveTubeFromErrorSlotToLiquidPlate(@RequestBody Map<String,Object> params) { |
||||
|
List<Integer> indexes = (List<Integer>)params.get("indexes"); |
||||
|
this.device.transferArm.takeOutTubesFromErrorSlot(indexes); |
||||
|
return this.success(); |
||||
|
} |
||||
|
} |
@ -1 +1 @@ |
|||||
Subproject commit 464111807ce66ce1d0f0652455cc17689d12ab7e |
|
||||
|
Subproject commit dee18622264b9391dedae06957d92d1c834b5c80 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue