计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战

作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

文章目录

  • 一、前言
  • 二、开发环境
  • 三、系统界面展示
  • 四、部分代码设计
  • 五、论文参考
  • 六、系统视频
  • 结语

一、前言

随着科技的快速发展和智能手机的普及,移动互联网已经成为了人们生活中不可或缺的一部分。在教育领域,越来越多的家长和老师希望通过便捷的移动应用来实现家校互动,提高教育管理的效率。幼儿园作为孩子成长过程中的重要阶段,其管理方式的现代化和信息化显得尤为重要。因此,开发一款针对幼儿园管理的微信小程序/安卓APP,旨在满足家长、老师和管理人员的需求,提高幼儿园的管理水平和服务质量。

尽管目前已经有一些幼儿园管理应用在市场上出现,但它们在功能、用户体验和安全性方面仍存在诸多问题。例如,部分应用的功能过于简单,无法满足家长和老师在教育管理方面的多样化需求;部分应用的界面设计不够友好,导致用户难以快速上手;还有一些应用在数据安全方面存在隐患,可能泄露家长和学生的隐私信息。这些问题使得现有的解决方案无法完全满足幼儿园管理的需求,进一步强调了开发一款功能完善、易用且安全的幼儿园管理应用的必要性。

本课题旨在设计和开发一款集教学特色信息管理、课程分类管理、课程信息管理、学生活动管理、学生食谱管理、放假通知管理、留言反馈管理等功能于一体的幼儿园管理微信小程序/安卓APP。通过实现这些功能,我们将为家长、老师和管理人员提供一个便捷的沟通和协作平台,帮助他们更好地关注和参与孩子的教育过程,提高幼儿园的整体管理水平。

本课题的研究意义主要体现在以下几个方面:首先,它有助于推动幼儿园管理的现代化和信息化,提高教育服务质量;其次,通过提供丰富的功能和良好的用户体验,有助于加强家校之间的沟通与合作,增进孩子健康成长;再次,本课题的研究成果还将为其他教育机构提供借鉴和参考,推动整个教育行业的技术创新和发展。

二、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:SpringBoot
  • 前端:微信小程序/Android+uniapp+Vue

三、系统界面展示

  • 幼儿园管理微信小程序/安卓APP界面展示:
    幼儿园管理微信小程序/安卓APP-家长个人中心
    幼儿园管理微信小程序/安卓APP-老师个人中心
    幼儿园管理微信小程序/安卓APP-学生活动管理-老师
    幼儿园管理微信小程序/安卓APP-课程信息管理
    幼儿园管理微信小程序/安卓APP-学生活动管理
    幼儿园管理微信小程序/安卓APP-学生食谱管理

四、部分代码设计

  • 微信小程序/安卓APP项目实战-代码参考:
@Controller
@RequestMapping(value = "/ls")
public class TeacherController {@Autowiredprivate StudentService studentService;@Autowiredprivate ClassService classService;@Autowiredprivate NoticeService noticeService;@Autowiredprivate SignService signService;@Autowiredprivate UserService userService;@Autowiredprivate UserChildrenService userChildrenService;@Autowiredprivate CourseService courseService;@RequestMapping("/stu")public String stu(Model model) {List<Classes> classes=classService.selectAllClasses();model.addAttribute("cla", classes);return "ls/stuPage";}//学生管理/*** Method name: teacherPage <BR>* Description: 教师管理页面 <BR>* * @return String<BR>*/@RequestMapping(value = "/stuMG")public String teaMG(Model model) {List<Classes> classes=classService.selectAllClasses();model.addAttribute("cla", classes);return "ls/student";}/*** Method name: getAllStudentByLimit <BR>* Description: 根据条件获取所有教师 <BR>* * @param userParameter* @return Object<BR>*/@RequestMapping("/getAllStudentByLimit")@ResponseBodypublic Object getAllStudentByLimit(Children stuParameter) {return studentService.getAllStudentByLimit(stuParameter);}/*** Method name: addStuPage <BR>* Description: 增加教师界面 <BR>* * @return String<BR>*/@RequestMapping(value = "/addStuPage")public String addStuPage(Integer id, Model model) {model.addAttribute("manageStu", id);if (null != id) {Children student = studentService.selectByPrimaryKey(id);//UserChildren userChild = userChildrenService.selectById(id);model.addAttribute("manageStu", student);//model.addAttribute("manageChild", userChild);UserChildren uc = userChildrenService.selectByUCId(student.getId());model.addAttribute("uc", uc);}List<Classes> classes=classService.selectAllClasses();model.addAttribute("cla", classes);List<User> user=userService.selectAllJiazhang();model.addAttribute("user", user);return "ls/stuPageAdd";}/*** Method name: addStu <BR>* Description: 教师添加 <BR>* * @param user* @return String<BR>*/@ResponseBody@RequestMapping("/addStu")public String addStu(Children student) {try {studentService.addStudent(student);addUserChildren(student);return "SUCCESS";} catch (Exception e) {return "ERR";}}public void addUserChildren(Children student) {UserChildren userChildern = new UserChildren();userChildern.setChildrenId(student.getId());userChildern.setUserId(student.getUserId());userChildern.setIsFaMa(student.getIsFaMa());userChildern.setIsJinji(student.getIsJinji());userChildrenService.addUserChildren(userChildern);}/*** Method name: updateStudent <BR>* Description: 更新教师 <BR>* * @param user* @return String<BR>*/@ResponseBody@RequestMapping("/updateStudent")public String updateStudent(Children studnet) {UserChildren uc = new UserChildren();uc.setId(studnet.getUcId());uc.setChildrenId(studnet.getId());uc.setIsFaMa(studnet.getIsFaMa());uc.setIsJinji(studnet.getIsJinji());uc.setUserId(studnet.getUserId());userChildrenService.updateUC(uc);return studentService.updateStu(studnet);}/*** Method name: delClaTea <BR>* Description: 批量删除教师<BR>* * @param ids* @return String<BR>*/@RequestMapping(value = "delStudent")@ResponseBody@Transactionalpublic String delStudent(String[] ids) {try {for (String id : ids) {studentService.delStudentById(Integer.parseInt(id));}return "SUCCESS";} catch (Exception e) {TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();return "ERROR";}}//公告管理/*** Method name: gg <BR>* Description: 教师管理页面 <BR>* * @return String<BR>*/@RequestMapping(value = "/gg")public String gg() {return "ls/notice";}/*** Method name: getAllNoticeByLimit <BR>* Description: 根据条件获取所有教师 <BR>* * @param userParameter* @return Object<BR>*/@RequestMapping("/getAllNoticeByLimit")@ResponseBodypublic Object getAllNoticeByLimit(Notice noticeParameter) {return noticeService.getAllNoticeByLimit(noticeParameter);}/*** Method name: addStuPage <BR>* Description: 增加教师界面 <BR>* * @return String<BR>*/@RequestMapping(value = "/addNoticePage")public String addNoticePage(Integer id, Model model) {model.addAttribute("manageNotice", id);if (null != id) {Notice notice = noticeService.selectByPrimaryKey(id);model.addAttribute("manageNotice", notice);}return "ls/noticeAdd";}/*** Method name: addStu <BR>* Description: 教师添加 <BR>* * @param user* @return String<BR>*/@ResponseBody@RequestMapping("/addNotice")public String addNotice(Notice notice) {try {notice.setCreatTime(new Date());noticeService.addNotice(notice);return "SUCCESS";} catch (Exception e) {return "ERR";}}/*** Method name: updateStudent <BR>* Description: 更新教师 <BR>* * @param user* @return String<BR>*/@ResponseBody@RequestMapping("/updateNotice")public String updateNotice(Notice notice) {return noticeService.updateStu(notice);}/*** Method name: delClaTea <BR>* Description: 批量删除教师<BR>* * @param ids* @return String<BR>*/@RequestMapping(value = "delNotice")@ResponseBody@Transactionalpublic String delNotice(String[] ids) {try {for (String id : ids) {noticeService.delNoticeById(Integer.parseInt(id));}return "SUCCESS";} catch (Exception e) {TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();return "ERROR";}}//考勤管理/*** Method name: lskq <BR>* Description: 教师管理页面 <BR>* * @return String<BR>*/@RequestMapping(value = "/lskq")public String lskq() {return "ls/sign";}/*** Method name: getAllSignByLimit <BR>* Description: 根据条件获取所有教师 <BR>* * @param userParameter* @return Object<BR>*/@RequestMapping("/getAllSignByLimit")@ResponseBodypublic Object getAllSignByLimit(Sign signParameter) {return signService.getAllSignByLimit(signParameter);}//打卡@RequestMapping(value = "/qianDaoTui")public String qianDaoTui() {return "ls/daKa";}/*** Method name: addStu <BR>* Description: 教师添加 <BR>* * @param user* @return String<BR>*/@ResponseBody@RequestMapping("/addSign")public String addSign(Sign sign) {Subject subject = SecurityUtils.getSubject();User user = (User) subject.getPrincipal();try {Date date=new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");String time = formatter.format(date).split(" ")[2];String time1 = formatter.format(date).split(" ")[1];String s=PropertyUtil.getConfigureProperties("startTime");if(time.equals("上午") && time1.compareTo(s)>0) {sign.setState(1);}else {sign.setState(3);}sign.setType(1);sign.setSignIn(date);sign.setKqrId(user.getUserId());sign.setKqrType(user.getUserState());signService.addSign(sign);return "SUCCESS";} catch (Exception e) {return "ERR";}}/*** Method name: addStu <BR>* Description: 教师添加 <BR>* * @param user* @return String<BR>*/@ResponseBody@RequestMapping("/addQianTui")public String addQianTui(Sign sign) {Subject subject = SecurityUtils.getSubject();User user = (User) subject.getPrincipal();try {Date date=new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");String time = formatter.format(date).split(" ")[2];String time1 = formatter.format(date).split(" ")[1];String s=PropertyUtil.getConfigureProperties("endTime");if(time.equals("下午") && time1.compareTo(s)<0) {sign.setState(1);}else{sign.setState(2);}sign.setType(2);sign.setSignIn(date);sign.setKqrId(user.getUserId());sign.setKqrType(user.getUserState());signService.addSign(sign);return "SUCCESS";} catch (Exception e) {return "ERR";}}//学生考勤@RequestMapping(value = "/xskq")public String xskq() {return "ls/childSign";}/*** Method name: getAllSignByLimit <BR>* Description: 根据条件获取所有教师 <BR>* @param userParameter* @return Object<BR>*/@RequestMapping("/getAllChildSignByLimit")@ResponseBodypublic Object getAllChildSignByLimit(Sign signParameter) {return signService.getAllChildSignByLimit(signParameter);}//所有老师签到的总次数统计@RequestMapping(value = "/kqtj")public String kqtj(Model model) {List<TongJi> ts = signService.getAllTeacherCount();List<String> names = new ArrayList<>();List<Integer> zc =  new ArrayList<>();List<Integer> tq =  new ArrayList<>();List<Integer> cd =  new ArrayList<>();for (TongJi tongJi : ts) {names.add(tongJi.getUserName());zc.add(tongJi.getZhengChang());tq.add(tongJi.getTiQian());cd.add(tongJi.getChiDao());}model.addAttribute("names", names);model.addAttribute("zc", zc);model.addAttribute("tq", tq);model.addAttribute("cd", cd);return "ls/tongJi";}//所有学生签到的总次数统计@RequestMapping(value = "/tongJiXueSheng")public String tongJiXueSheng(Model model) {List<TongJi> ts = signService.getAllChildCount();List<String> names = new ArrayList<>();List<Integer> zc =  new ArrayList<>();List<Integer> tq =  new ArrayList<>();List<Integer> cd =  new ArrayList<>();for (TongJi tongJi : ts) {names.add(tongJi.getUserName());zc.add(tongJi.getZhengChang());tq.add(tongJi.getTiQian());cd.add(tongJi.getChiDao());}model.addAttribute("names", names);model.addAttribute("zc", zc);model.addAttribute("tq", tq);model.addAttribute("cd", cd);return "ls/tongJiXueSheng";}@RequestMapping(value = "/course")public String course(Model model) {return "ls/course";}//课程@RequestMapping(value = "/courseAdd")public String courseAdd(Model model) {List<User> users = userService.selectAllTea();model.addAttribute("users", users);List<Classes> clas = classService.selectAllClasses();model.addAttribute("cla", clas);return "ls/courseAdd";}@RequestMapping("/getAllCourseByLimit")@ResponseBodypublic Object getAllCourseByLimit(Course course) {return courseService.getAllCourseByLimit(course);}@ResponseBody@RequestMapping("/addCourse")public String addCourse(Course course) {course.setCreateTime(new Date());try {					courseService.addCourse(course);return "SUCCESS";} catch (Exception e) {return "ERR";}}@ResponseBody@RequestMapping("/delCourse")public String delCourse(Integer id) {try {					courseService.delCourse(id);return "SUCCESS";} catch (Exception e) {return "ERR";}}
}
@Controller
public class LoginController {@Autowiredprivate ResultMap resultMap;@Autowiredprivate UserService userService;// 用户登录service@Autowiredprivate PageService pageService;private final Logger logger = LoggerFactory.getLogger(LoginController.class);@RequestMapping(value = "/notLogin", method = RequestMethod.GET)@ResponseBodypublic ResultMap notLogin() {logger.warn("尚未登陆!");return resultMap.success().message("您尚未登陆!");}@RequestMapping(value = "/notRole", method = RequestMethod.GET)@ResponseBodypublic ResultMap notRole() {Subject subject = SecurityUtils.getSubject();User user = (User) subject.getPrincipal();if (user != null) {logger.info("{}---没有权限!", user.getUserName());}return resultMap.success().message("您没有权限!");}/*** Method name: logout <BR>* Description: 退出登录 <BR>* @return String<BR>*/@RequestMapping(value = "/logout", method = RequestMethod.GET)public String logout() {Subject subject = SecurityUtils.getSubject();User user = (User) subject.getPrincipal();if (null != user) {logger.info("{}---退出登录!", user.getUserName());}subject.logout();return "login";}/*** Method name: login <BR>* Description: 登录验证 <BR>* Remark: <BR>* * @param username 用户名* @param password 密码* @return ResultMap<BR>*/@RequestMapping(value = "/login")@ResponseBodypublic ResultMap login(String username, String password) {return userService.login(username, password);}/*** Method name: login <BR>* Description: 登录页面 <BR>* * @return String login.html<BR>*/@RequestMapping(value = "/index")public String login() {return "login";}/*** Method name: index <BR>* Description: 登录页面 <BR>* * @return String login.html<BR>*/@RequestMapping(value = "/")public String index(Model model) {Subject subject = SecurityUtils.getSubject();User user = (User) subject.getPrincipal();if (null != user) {model.addAttribute("user", user);List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());model.addAttribute("pageList", pageList);return "index";} else {return "login";}}/*** Method name: main <BR>* Description: 进入主页面 <BR>* * @param model* @return String<BR>*/@RequestMapping(value = "/main")public String main(Model model) {Subject subject = SecurityUtils.getSubject();User user = (User) subject.getPrincipal();if (null != user) {model.addAttribute("user", user);} else {return "login";}List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());model.addAttribute("pageList", pageList);return "index";}/*** Method name: checkUserPassword <BR>* Description: 检测旧密码是否正确 <BR>* * @param password 旧密码* @return boolean 是否正确<BR>*/@RequestMapping(value = "/user/checkUserPassword")@ResponseBodypublic boolean checkUserPassword(String password) {return userService.checkUserPassword(password);}/*** Method name: updatePassword <BR>* Description: 更新密码 <BR>* * @param password 旧密码* @return String 是否成功<BR>*/@RequestMapping(value = "/user/updatePassword")@ResponseBodypublic String updatePassword(String password) {return userService.updatePassword(password);}
}

五、论文参考

  • 计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-论文参考:
    计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-论文参考

六、系统视频

幼儿园管理微信小程序/安卓APP-项目视频:

结语

计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/194849.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SDL音视频渲染

01-SDL简介 官网&#xff1a;https://www.libsdl.org/ 文档&#xff1a;http://wiki.libsdl.org/Introduction SDL&#xff08;Simple DirectMedia Layer&#xff09;是一套开放源代码的跨平台多媒体开发库&#xff0c;使用C语言写成。SDL提供了数种控制图像、声音、输出入的函…

6块钱改变世界,网易和拼多多踏入同一条河流?

年底将至&#xff0c;各种颁奖盛典星光熠熠。如果要给今年深蹲反弹中的互联网大厂颁奖&#xff0c;2023表现最突出的可能是师出同门的兄弟网易和拼多多。 从市场表现来看&#xff0c;两家企业录得今年互联网中概股最高涨幅&#xff0c;被称为“中概股之光”&#xff1a;2023年…

Kubernetes学习-概念2

参考&#xff1a;关于 cgroup v2 | Kubernetes 关于 cgroup v2 在 Linux 上&#xff0c;控制组约束分配给进程的资源。 kubelet 和底层容器运行时都需要对接 cgroup 来强制执行为 Pod 和容器管理资源&#xff0c; 这包括为容器化工作负载配置 CPU/内存请求和限制。 Linux 中…

当攻防演练已成常态,企业应该相信西医还是老中医?

在面对疾病时&#xff0c;很多人常常会犹豫不决&#xff0c;不知道应该选择中医还是西医进行治疗。与疾病斗争的过程也是一场“战斗”&#xff0c;需要选择合适的“武器”和策略。有些人认为西医疗效快&#xff0c;能够迅速缓解症状&#xff1b;而另一些人则认为中医治疗更根本…

千兆光模块和万兆光模块需要注意哪些事项

随着网络通信技术的发展&#xff0c;千兆光模块和万兆光模块已经成为了网络设备中不可或缺的关键组件。光模块的制造涉及到许多技术和工艺问题&#xff0c;需要严格的控制和管理。本文将从工艺流程、材料选用、测试认证等方面&#xff0c;详细介绍制造千兆光模块和万兆光模块需…

EasyCVR视频监控+AI智能分析网关如何助力木材厂安全生产?

旭帆科技有很多工厂的视频监管方案&#xff0c;小编也经常分享出来供大家参考。近期&#xff0c;又有伙伴后台私信我们想要关于木材厂的方案。针对木材厂的生产过程与特性以及安全风险等&#xff0c;我们来分享一下相关的监管方案&#xff1a; 1&#xff09;温湿度监测&#xf…

Java学习之路 —— IO、特殊文件

文章目录 1. I/O1.1 常用API1.2 I/O流1.2.1 字节流1.2.2 try-catch-finally和try-with-resource1.2.3 字符流1.2.4 其他的一些流 2. I/O框架3. 特殊文件3.1. Properties3.2 XML 1. I/O 1.1 常用API // 1. 创建文件对象File file new File("E:\\ComputerScience\\java\\…

LeetCode算法题解|LeetCode738. 单调递增的数字、LeetCode968. 监控二叉树

一、LeetCode738. 单调递增的数字 题目链接&#xff1a;738. 单调递增的数字 题目描述&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c…

【Pytorch笔记】7.torch.nn (Convolution Layers)

我们常用torch.nn来封装网络&#xff0c;torch.nn为我们封装好了很多神经网络中不同的层&#xff0c;如卷积层、池化层、归一化层等。我们会把这些层像是串成一个牛肉串一样串起来&#xff0c;形成网络。 先从最简单的&#xff0c;都有哪些层开始学起。 Convolution Layers -…

监控直流防雷浪涌保护器综合方案

监控系统是一种广泛应用于安防、交通、工业、军事等领域的信息系统&#xff0c;它通过摄像机、传输线路、监控中心等设备&#xff0c;实现对目标区域的实时监视和控制。然而&#xff0c;监控系统也面临着雷电的威胁&#xff0c;雷电可能通过直击雷、感应雷、雷电波侵入等途径&a…

map和set的简易封装(纯代码)

RBTree.h #pragma once#include<iostream> #include<vector> using namespace std;enum colar { red,black };template<class T>//有效参数就一个 struct RBTreeNode {RBTreeNode(const T& data):_left(nullptr), _right(nullptr), _parent(nullptr)…

在Broker端进行消息过滤

在Broker端进行消息过滤&#xff0c;可以减少无效消息发送到Consumer&#xff0c;少占用网络带宽从而提高吞吐量。Broker端有三种方式进行消息过滤。 1.消息的Tag和Key 对一个应用来说&#xff0c;尽可能只用一个Topic&#xff0c;不同的消息子类型用Tag来标识&#xff08;每条…

一文浅入Springboot+mybatis-plus+actuator+Prometheus+Grafana+Swagger2.9.2开发运维一体化

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFUL风格的Web服务,是非常流行的API表达工具。 Swagger能够自动生成完善的 RESTFUL AP文档,,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。 Prometheus 是一个开源的服务监控系统和时…

聊聊ThreadLocal(二)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 大部分面试官喜欢问Thr…

git 指定时间代码统计

指定时间代码统计 用法 13 - 17 号 代码情况 近一周 git log --since2023-11-13 00:00:00 --until2023-11-17 23:00:00 --prettytformat: --numstat | awk { add $1; subs $2; loc $1 - $2 } END { printf "added lines: %s, removed lines: %s,total lines: %s\n&…

系列三、GC垃圾回收【总体概览】

一、GC垃圾回收【总体概览】 JVM进行GC时&#xff0c;并非每次都对上面的三个内存区域&#xff08;新生区、养老区、元空间/永久代&#xff09;一起回收&#xff0c;大部分回收的是新生区里边的垃圾&#xff0c;因此GC按照回收的区域又分为了两种类型&#xff0c;一种是发生在新…

hive数仓-数据的质量管理

版本20231116 要理解数据的质量管理&#xff0c;应具备hive数据仓库的相关知识 文章目录 1.理解什么是数据的质量管理&#xff1a;2.数据质量管理的规划数据质量标准的分类 3.数据质量管理解决方案1.ods层的数据质量校验1&#xff09;首先在hive上建立一个仓库&#xff0c;添加…

R语言——taxize(第二部分)

taxize&#xff08;第二部分&#xff09; 3. taxize 文档中译3.10. classification&#xff08;根据类群ID检索分类阶元层级&#xff09;示例1&#xff1a;传递单个ID值示例2&#xff1a;传递多个ID值示例3&#xff1a;传递单个名称示例4&#xff1a;传递多个名称示例5&#xf…

ubuntu 20通过docker安装onlyoffice,并配置https访问

目录 一、安装docker &#xff08;一&#xff09;更新包列表和安装依赖项 &#xff08;二&#xff09;添加Docker的官方GPG密钥 &#xff08;三&#xff09;添加Docker存储库 &#xff08;四&#xff09;安装Docker &#xff08;五&#xff09;启动Docker服务并设置它随系…

001 opencv addWeighted

目录 一、环境 二、addWeighted函数 三、代码演示 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、addWeighted函数 OpenCV中的cv.addWeighted函数是一个用于图像叠加的函数&#xff0c;它可以将两个具有相同尺寸和类型的图像按…