• 安全操作(安卓推流)程序


    ★ 安全操作项目
    项目描述:安全操作项目旨在提高医疗设备的安全性,特别是在医生离开操作屏幕时,以减少非授权人员的误操作风险。为实现这一目标,我们采用多层次的保护措施,包括人脸识别、姿势检测以及二维码识别等技术。这些技术用于监测医生是否在工作区域内,并根据检测结果触发相应的安全响应机制。如果医生被检测到离开工作区域或操作屏幕,系统将立即采取措施,例如触发警报、锁定医疗设备,以确保患者数据和医疗设备的安全。
    职责描述:
    1、JNI接口独立开发。
    2、回调函数处理。
    3、WebSocket通信:确保与前端的实时数据交换。
    在这里插入图片描述

    核心技术

    Java中调用C++代码
    https://blog.csdn.net/weixin_43914278/article/details/127278471
    某核心功能
    基本思路就是传灵敏度的相关参数,获取回调信息,将byte数组信息转为base64,开发的时候配合写的前端代码https://blog.csdn.net/weixin_43914278/article/details/128216828

     @Operation(summary = "开始数量追踪")
        @PostMapping("/startFaceTrackingEx")
        public CommonResult startFaceTrackingEx(@RequestBody StartFaceTrackingModel startFaceTrackingModel) {
            if (faceStateMonitor.getTraceMode() != 0) {
                return CommonResult.error("重复发送指令");
            }
            Boolean status = faceStateMonitor.startJniFaceTracingEx(startFaceTrackingModel.getMaxFaltCount(), startFaceTrackingModel.getSampleCount(), (int traceState,  long eventTimePoint) -> {
                //推送消息
                Map<String, Object> map = new HashMap<>(2);
                map.put("traceState", traceState);
                map.put("eventTimePoint", eventTimePoint);
                String jsonStr = JSONUtil.toJsonStr(map);
                WebSocketMessageUtil.sendWebSocketMessage(WebSocketService.session, CommandTypeEnum.startJniFaceTracingEx.getCode(), jsonStr);
                alarmByTraceState(traceState, eventTimePoint, CommandTypeEnum.startJniFaceTracingEx.getCode());
            }, (imageBytes, width, height) -> {
                //将图像通过webSocket发送给前端
                if (WebSocketService.session != null) {
                    Map<String, Object> map = new HashMap<>(4);
                    map.put("imgBytes", Base64Utils.encode(imageBytes));
                    map.put("width", width);
                    map.put("height", height);
                    map.put("commandType", CommandTypeEnum.openJniCamera.getCode());
                    String jsonStr = JSONUtil.toJsonStr(map);
                    WebSocketMessageUtil.sendWebSocketMessage(WebSocketService.session, 200, jsonStr);
                } else {
                    stopFaceTracking();
                    throw new RuntimeException("webSocket连接失败");
                }
            });
            if (!status) {
                return CommonResult.error();
            }
            return CommonResult.success();
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    后期放弃做app
    后期计划推出了安卓方案,也从网上找到了相关的开源代码,也部分实现了该功能,但是考虑到项目安卓开发经验不足、go服务器源码无人能维护等原因未继续实现该功能。

    在这里插入图片描述

  • 相关阅读:
    基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(七)
    Java IO包之序列化与ObjectInputStream、ObjectOutputStream的简介说明
    Python数据分析案例51——基于K均值的客户聚类分析可视化
    Taro 小程序开启wxml代码压缩
    SG-Former实战:使用SG-Former实现图像分类任务(一)
    Black群晖VideoStation不支持音频 DTS\EAC3\TureHD的解决办法
    基于python的图像识别
    Lingo基础语法笔记
    逆变器原理
    c语言的各种排序
  • 原文地址:https://blog.csdn.net/weixin_43914278/article/details/134245468