第91篇一对多之学生举手加红点及老师忽略消息或让学生发言去除红点

关键词:学生举手红点, 老师忽略消息去红点,允许学生发言去红点

一、一对多

1.1 学生举手提问

新的需求是右边的符号去掉,换成文字“忽略”,但符号一直去不掉,等前端来了请教一下吧。

1)学生举手红点

  开发完成,代码如下:

a.)新技术

  这个替换图片是用位置替换,就是说所有的图标在一张图上,只是位置不同,如下:

b.)开始时,举手图标如下:

当学生举手时,把图片的位置变一下,加上红点,如下:

  //学生举手提问老师端动态追加提示消息+并且举手图片换成加红点的

   if(event.data.mobileName && event.data.raiHand){

      var mobName = event.data.mobileName;

      RHVA_id = event.data.video_Id;

      raiHandId = 'VA'+RHVA_id;

  

      $("#raHanQue").append("<li id = '" +raiHandId+"'class='clearfix'><img src='/static/img/end_s.png'οnclick='openSgVA(RHVA_id)' /><span>"+mobName+"发起举手提问</span><astyle='color:red;' οnclick='removeRH(raiHandId)'>忽略</a></li>");

      $("li#hand").find("span").css("background-position","38px -159px");

}

注:上述标红代码,就是用改变位置的方法,把图片换成加红点的,有个小技巧是:可以在html中通过移动上下键来改变位置,进行定位。

注:这是在不连接学生端的情况下进行的。学生举手后,图标如下:

c.)当老师让学生发言或忽略消息后,红点消失,代码如下:

老师忽略消息更换红点图片:  

//移除举手标签+去掉图片举手红点

         function removeRH(id){

      $("#"+id).remove();

      $("li#hand").find("span").css("background-position","38px -116px");

         }

老师让学生发言更换红点图片:

//学生举手提问老师端动态追加提示消息+并且举手图片换成加红点的

    if(event.data.mobileName&& event.data.raiHand){

       var mobName =event.data.mobileName;

       RHVA_id =event.data.video_Id;

       raiHandId ='VA'+RHVA_id;

  

      $("#raHanQue").append("<li id = '" +raiHandId+"'class='clearfix'><img src='/static/img/end_s.png' οnclick='opnVAred(RHVA_id)'/><span>"+mobName+"发起举手提问</span><astyle='color:red;' οnclick='removeRH(raiHandId)'>忽略</a></li>");

      $("li#hand").find("span").css("background-position","38px -159px");

    }

opnVAred函数如下:

    //打开单个学生的音视频+把红点举手图片替换成没红点的----------------------3.2.3

    function opnVAred(stuIdVA){ 

    connection.send({

        action:"unsilent",

            uid:stuIdVA

    });

   $("li#hand").find("span").css("background-position","38px -116px");

    }

注:不能再用那个打开声音的了,并且这个不需要移除由点视频头像打开的框。

2017年4月1日星期六

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到实时姿势检测和动作识别时,可以使用OpenCV和一个预训练的姿势估计模型来实现。以下是一个示例代码,用于通过摄像头检测学生上课时的抬头、低头和举手的状态,并使用MPII Human Pose数据集进行姿势估计。 ```python import cv2 import numpy as np # 载预训练的姿势估计模型 net = cv2.dnn.readNetFromTensorflow('path/to/pretrained_model.pb') # 载MPII Human Pose数据集的关节点信息 with open('path/to/mpi_pose_labels.txt') as f: pose_labels = f.read().split('\n') # 启动摄像头 cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() if not ret: break # 对图像进行前处理 blob = cv2.dnn.blobFromImage(frame, 1.0, (368, 368), (127.5, 127.5, 127.5), swapRB=True, crop=False) # 输入图像到姿势估计模型中获取预测结果 net.setInput(blob) output = net.forward() # 解析预测结果 H, W = frame.shape[:2] points = [] for i in range(len(pose_labels)): # 提取关节点位置 prob_map = output[0, i, :, :] _, confidence, _, point = cv2.minMaxLoc(prob_map) x = int(W * point[0] / output.shape[3]) y = int(H * point[1] / output.shape[2]) # 将关节点添到列表中 points.append((x, y) if confidence > 0.1 else None) # 绘制关节点连接线 for pair in pose_pairs: partA = pair[0] partB = pair[1] if points[partA] and points[partB]: cv2.line(frame, points[partA], points[partB], (0, 255, 0), 2) # 在图像中标注抬头、低头和举手状态 if points[12] and points[13] and points[14]: if points[13][1] < points[12][1] and points[14][1] < points[12][1]: cv2.putText(frame, '抬头', (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) elif points[13][1] > points[12][1] and points[14][1] > points[12][1]: cv2.putText(frame, '低头', (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) else: cv2.putText(frame, '正常', (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) # 显示处理后的帧 cv2.imshow('Frame', frame) # 按下'q'键退出循环 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放摄像头并销毁窗口 cap.release() cv2.destroyAllWindows() ``` 请注意,上述代码中的模型路径和数据集路径需要根据实际情况进行修改。此示例代码使用了MPII Human Pose数据集的关节点信息,并使用预训练的姿势估计模型来检测学生的抬头、低头和举手状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值