SSM框架+Vue高校综合素质评价系统:从架构到二次开发全解析
简介基于SSM框架与MySQL的高校学生综合素质评价系统是一套面向管理员、教师、学生三类角色的完整毕业设计项目。系统涵盖登录注册、学生管理、教师管理、专业与报考信息管理、成绩/获奖/学分信息管理及学生评价管理等核心模块后端采用SpringSpringMVCMyBatis前端基于Vue配合Maven构建可导入IDEA或Eclipse直接运行。资源包共434个文件压缩后约10.69MB包含103个Java源码、42个Vue前端组件、162个SVG图标素材、19个XML配置及2个SQL数据库脚本等目录结构清晰便于二次开发。项目源码均经过严格调试并附有数据库脚本与开发文档适合高校学生用于毕业设计或SSM框架综合实践。目前已有127人学习浏览对需要快速搭建功能完整的管理系统者具有较高参考价值。1. 项目定位一套能直接在 IDEA 里跑起来的高校综合素质评价系统第一次在 IDEA 里打开这套源码时我只做了三件事导入 SQL 脚本、改数据库连接配置、点启动按钮前端 Vue 页面就能正常登录了。这个项目就是一套经典的 SSMSpring SpringMVC MyBatis MySQL 的高校学生综合素质评价系统角色分了管理员、学生、教师三种覆盖从注册登录到学生管理、教师管理、专业信息、报考信息、成绩、获奖、学分以及学生评价的完整链路。适合三类人拿它当毕业设计底子的应届生、想在 SSM Vue 全栈项目上做二次开发的工程师以及需要用完整案例做课程设计演示的同学。源码、数据库脚本、开发文档都在包里能跑起来永远是第一位的。2. 技术选型与整体架构SSM Vue 前后端分离怎么搭2.1 后端三层架构SpringMVC → Service → MyBatis这套系统的后端没有引入 Spring Boot而是用了经典的 SSM 手动组装方式也就是 Spring SpringMVC MyBatis 三件套配合 Maven 管理依赖。虽然现在新项目大多直接上 Spring Boot但对于课程设计和毕业设计而言SSM 有一个不可替代的价值它把「配置」这件事摊开给你看web.xml、spring-mvc.xml、spring-mybatis.xml、mybatis-config.xml全都摆在明面上条条可查。一个请求从浏览器进来链路大致是前端 Vue 发 AJAX 请求 → SpringMVC 的DispatcherServlet拦截到 URL → 通过Controller路由到具体方法 → 方法里调用 Service 层接口 → ServiceImpl 里通过 MyBatis 的 Mapper 接口操作 MySQL → 返回 JSON 给前端渲染。典型的教科书式三层架构但又比纯教学 Demo 多了完整的事务管理和异常处理。看一段典型的学生管理 Controller 代码Controller RequestMapping(/student) public class StudentController { Autowired private StudentService studentService; RequestMapping(/list) ResponseBody public MapString, Object list(Integer page, Integer limit, String keyword) { MapString, Object result new HashMap(); PageHelper.startPage(page null ? 1 : page, limit null ? 10 : limit); ListStudent students studentService.queryByKeyword(keyword); PageInfoStudent pageInfo new PageInfo(students); result.put(code, 0); result.put(count, pageInfo.getTotal()); result.put(data, pageInfo.getList()); return result; } }这里用到了 PageHelper 分页插件PageHelper.startPage之后的第一次查询会被自动拼接 LIMIT 语句不用手写分页 SQL。keyword参数则是模糊搜索的条件最终透传到 MyBatis 的 XML 里做LIKE匹配。ResponseBody负责把返回的 Map 序列化成 JSON前端表格组件直接消费这个结构。如果你打算改造这个系统接 RESTful 风格接口时Controller 层是最先要动的部分。2.2 前端 Vue 组件与系统角色的联动设计前端部分用的是 Vue 2.x Element UI 这一套源码里能看到IndexAsideStatic.vue.bak、IndexHeader.vue.bak、BreadCrumbs.vue.bak这类文件后缀.bak说明是调整前的备份。这些组件分别对应后台管理系统的左侧菜单栏、顶部头部导航和面包屑导航是后台管理界面最常见的三种布局块。系统的三个角色——管理员、学生、教师——在前端是通过登录后返回的角色字段来区分。登录成功时后端返回用户信息和角色标识前端拿到后存储到 Vuex 或 localStorage路由守卫每次跳转前检查角色权限。比如管理员能看到「学生管理」和「教师管理」菜单教师能看到「成绩信息管理」和「学生评价管理」学生只能看到自己的「个人中心」和「学分信息」。组件按功能模块放到views目录下每个页面一个文件夹里面是.vue单文件组件。Element UI 的el-table、el-form、el-dialog承担了 80% 的界面渲染所以整个前端代码量不大但结构清晰。如果你想在二次开发中加一个新页面照着已有的列表页复制一份替换 API 地址和表格列就行。2.3 数据库表设计与三个角色的权限边界数据库设计是这套系统最值得抄作业的地方。核心表包括学生表、教师表、管理员表、专业信息表、报考信息表、成绩信息表、获奖信息表、学分信息表、学生评价表。表与表之间通过学生 ID 关联起来比如成绩表里只存student_id具体的学生姓名靠联表查询取。一张「学生评价表」的设计大致长这样CREATE TABLE evaluation ( id int(11) NOT NULL AUTO_INCREMENT, student_id int(11) DEFAULT NULL, teacher_id int(11) DEFAULT NULL, score decimal(5,2) DEFAULT NULL, content varchar(500) DEFAULT NULL, evaluation_type varchar(50) DEFAULT NULL, create_time datetime DEFAULT NULL, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;evaluation_type字段用来区分评价维度比如「学习成绩」「思想品德」「社会实践」每个维度一条记录。score用 decimal 类型避免浮点精度问题。content是教师的评语文本。这种设计允许一名学生有多条评价记录也方便后续按维度做聚合统计。权限边界落到 SQL 上就是「谁查什么数据」学生只能查自己的记录教师只能查自己负责的学生管理员全表可查。后端在三层架构的 Service 层做数据权限过滤而不是在 SQL 里硬编码条件。3. 核心功能模块拆解从登录到评价管理的完整链路3.1 登录与注册拦截器 会话管理怎么防未授权访问登录模块走的是传统的 Session 方案没有引入 JWT。登录成功后后端把用户对象放到 Session 里同时在 SpringMVC 配置一个拦截器拦截所有需要认证的请求。先看后端登录逻辑RequestMapping(value /login, method RequestMethod.POST) ResponseBody public Result login(String username, String password, String role) { if (student.equals(role)) { Student student studentService.login(username, password); if (student ! null) { session.setAttribute(student, student); return Result.success(登录成功, student); } } else if (teacher.equals(role)) { Teacher teacher teacherService.login(username, password); if (teacher ! null) { session.setAttribute(teacher, teacher); return Result.success(登录成功, teacher); } } else { Admin admin adminService.login(username, password); if (admin ! null) { session.setAttribute(admin, admin); return Result.success(登录成功, admin); } } return Result.error(用户名或密码错误); }这里是按角色分别查询三张表。密码在数据库里不是明文存储INSERT 之前会经过 MD5 加密登录时把用户输入的密码做同样的 MD5 再比对。需要注意的一点是role参数来自前端表单不能直接拿来作为普通字符串拼接进 SQL这里通过 if-else 分支处理从根源上避免了注入风险。拦截器是防未授权访问的关键。在spring-mvc.xml里注册拦截器配置exclude-mappings放行登录页、注册接口和静态资源其余 URL 都拦下来。拦截器里只做一件事从 Session 里取用户对象取不到就重定向到登录页。mvc:interceptors mvc:interceptor mvc:mapping path/**/ mvc:exclude-mapping path/login/ mvc:exclude-mapping path/register/ mvc:exclude-mapping path/static/**/ bean classcom.system.interceptor.LoginInterceptor/ /mvc:interceptor /mvc:interceptors前端配合做了一层路由守卫Session 失效时跳回登录页后端拦截器再做兜底这是典型的双重校验。3.2 学生与教师管理MyBatis 分页与条件查询学生管理模块是管理员的高频操作界面支持按学号、姓名、专业等条件组合筛选。MyBatis 的 Mapper XML 里写了动态 SQL用if标签拼接条件。看一段核心查询select idqueryByCondition resultTypeStudent SELECT * FROM student where if teststudentNo ! null and studentNo ! AND student_no LIKE CONCAT(%, #{studentNo}, %) /if if testname ! null and name ! AND name LIKE CONCAT(%, #{name}, %) /if if testmajorId ! null and majorId ! AND major_id #{majorId} /if /where ORDER BY create_time DESC /selectwhere标签会自动去掉多余的 AND 关键字这是 MyBatis 动态 SQL 的经典写法比在 Java 代码里拼 SQL 字符串优雅得多。CONCAT(%, #{studentNo}, %)这种方式避免了直接写%${studentNo}%导致的 SQL 注入问题#{}是预编译参数占位符${}是字符串替换两者有本质区别。majorId这里是精确匹配因为专业信息来自专业表的外键用等值判断比模糊查询更合理。通过这个查询前端表格配合el-pagination组件每次切换页码就重新请求一次/student/list?page2limit10后端用 PageHelper 自动分页。3.3 成绩、获奖、学分信息管理多表关联实战这三个模块的数据结构非常相似核心字段都是「学生 ID 项目名称 得分/等级 时间」所以代码逻辑高度复用。成绩信息表存课程名称、成绩分数、学期获奖信息表存获奖名称、级别、获奖时间学分信息表存学分类型、学分值、获得时间。来看成绩信息管理的 Service 层代码如何处理联表查询public ListScoreVO getScoreListByStudent(Integer studentId) { ListScore scores scoreMapper.selectByStudentId(studentId); ListScoreVO result new ArrayList(); for (Score score : scores) { ScoreVO vo new ScoreVO(); BeanUtils.copyProperties(score, vo); Student student studentMapper.selectByPrimaryKey(score.getStudentId()); vo.setStudentName(student.getName()); vo.setMajorName(student.getMajorName()); result.add(vo); } return result; }这里小数据量下用 N1 查询没问题但如果你要在生产环境用建议改成 Mapper XML 里的 join 语句一次查出来。ScoreVO是视图对象专门给前端展示用避免直接把实体类暴露给接口层。这种 VO、Entity 分离的习惯在这个项目里体现得不错二次开发时保持这个风格就行。前端展示这些信息时管理员能看到全部学生教师只能看到自己任教班级的学生学生只能看到自己的记录。这个过滤逻辑放在 Service 层前端拿到的数据已经是过滤后的结果。3.4 学生评价模块综合素质评分的核心实现学生评价是整个系统的业务核心。教师登录后进入「学生评价管理」可以给所负责的学生打分并填写评语。评价通常分多个维度比如课程成绩占比、获奖加分、社会实践、教师评分等最后汇总成一个综合评价分。看一段评分统计逻辑public BigDecimal calculateComprehensiveScore(Integer studentId) { ListEvaluation evaluations evaluationMapper.selectByStudentId(studentId); BigDecimal total BigDecimal.ZERO; for (Evaluation eva : evaluations) { // 按评价维度权重折算权重来自专业信息表 BigDecimal weight new BigDecimal(eva.getWeight().toString()); BigDecimal score eva.getScore().multiply(weight); total total.add(score); } return total.setScale(2, BigDecimal.ROUND_HALF_UP); }权重存在专业信息表或评价配置表里不同专业可以配不同的权重比例。这里用 BigDecimal 而不是 double 做计算是为了避免浮点运算误差——比如 0.1 乘 3 在 double 下可能得到 0.30000000000000004在学分成绩这类场景里是不能接受的。setScale(2, BigDecimal.ROUND_HALF_UP)保留了两位小数并四舍五入。4. 项目运行实操从导库到 IDEA 启动全流程4.1 源码包目录解析那些 .bak 文件是干什么的拿到源码包后你会看到一批混在一起的资源。先把文件分个类.java是后端源码.vue和.js是前端源码.sql是数据库脚本.bat是 Windows 下的一键构建脚本.bak后缀是文件备份。.bak文件在部署时要忽略它们是开发过程中调整前的旧版本留作对比用不参与编译。具体来说3-build.bat是 Maven 打包脚本2-run.bat是启动脚本1-install.bat是首次部署时的环境安装脚本。.classpath和org.eclipse.wst.common.component是 Eclipse 的工程配置文件如果你用 IDEA 打开项目直接忽略它们即可IDEA 会自动生成自己的.iml文件。我建议用 IDEA 打开时的顺序File → Open → 选择源码根目录 → 等待 Maven 依赖下载完成 → 看右侧 Maven 面板确认没有红标 → 配置 Tomcat → 启动。4.2 数据库初始化与 spring 配置文件修改数据库是这套系统最容易出问题的环节。先用 MySQL 客户端Navicat 或命令行执行数据库脚本会创建数据库和所有数据表并插入一些初始的管理员账号。然后用测试账号登录先确认数据库没问题再动代码。紧接着改spring-mybatis.xml里的数据源配置核心是四行property namedriverClassName valuecom.mysql.jdbc.Driver/ property nameurl valuejdbc:mysql://localhost:3306/student_evaluation?useUnicodetrueamp;characterEncodingutf-8/ property nameusername valueroot/ property namepassword value你自己的密码/注意 MySQL 8.x 和 MySQL 5.x 的驱动配置有区别。如果本地是 MySQL 8.0驱动类要改成com.mysql.cj.jdbc.DriverURL 里还要加serverTimezoneAsia/Shanghai否则会报时区错误。项目默认按 5.5 及以上版本写的你用 8.0 也能跑但这两个参数必须调整。4.3 三种启动方式bat 脚本、IDEA、Eclipse装好依赖配好数据库后启动方式有三种按场景选。最省事的是双击2-run.bat脚本内部会执行 Maven 打包并启动内嵌 Tomcat适合不想碰 IDE 配置的情况。但这种方式的缺点是看不到控制台日志的彩色输出排错时有点瞎。我推荐用 IDEA 外部 Tomcat 的方式。具体配置Run → Edit Configurations → 点加号 → 选择 Tomcat Server → Local → 在 Deployment 标签页点加号选 Artifact → 选择 war exploded 包。这里有一个血泪经验一定要选war exploded不要选 war。war exploded 能让修改后的代码立即生效不用每次改一行 Java 就重新打包重启。Eclipse 用户则直接用菜单 Window → Preferences → Server → Runtime Environments 添加 Tomcat然后右键项目 Run As → Run on Server。相比 IDEAEclipse 的部署速度会慢一些但胜在导入项目后无需额外配置.classpath文件已经帮你把依赖路径定义好了。5. 常见问题避坑本地跑这套 SSM 项目的 5 个高频翻车点5.1 数据库连接报错MySQL 版本与服务端口对不上现象启动时控制台报Access denied for user rootlocalhost或者Communications link failure。原因前者是用户名或密码不对后者是 URL 里的端口和 MySQL 实际运行的端口不一致。很多人本机装了多个 MySQL 实例3306 被占用后第二个实例监听 3307URL 里还写着 3306。解决先跑一下netstat -ano | findstr 3306确认端口占用情况再打开spring-mybatis.xml把 URL 改成实际端口。密码不要写在 root 默认密码位置改成自己的真实密码。5.2 Maven 依赖导入慢或缺失现象IDEA 右侧 Maven 面板一直转圈或者编译时提示找不到org.springframework的包。原因默认 Maven 中央仓库在国外网络一波动就超时。另一个常见情况是 JDK 版本和 Maven 的编译插件不兼容。解决在pom.xml所在目录建一个settings.xml把镜像地址换成阿里云 Maven 镜像。这一步我不知道有多少人卡住过其实就几行mirror idaliyun/id urlhttps://maven.aliyun.com/repository/public/url mirrorOfcentral/mirrorOf /mirror配置完重启 IDEA 的 Maven 面板依赖基本一分钟内下完。5.3 页面样式丢失或控制台报跨域错误现象页面能打开但 CSS 全部失效或者浏览器控制台报Access-Control-Allow-Origin错误。原因前端静态资源路径写死为根路径/static/部署时没有调整 context-path或者前端代码单独跑在 webpack 开发服务器上和后端端口不一致。解决如果你用 IDEA 的 Tomcat 直接跑一个 war 包保持默认 context-path 为空即可如果你用npm run dev单独起前端需要在 Vue 的vue.config.js里配代理module.exports { devServer: { proxy: { /api: { target: http://localhost:8080, changeOrigin: true } } } }5.4 中文乱码数据库连接字符集不对现象页面上显示中文全是问号???。原因创建数据库时没指定 utf8 编码或者连接串里少了characterEncodingutf-8。解决重建数据库建库语句写明字符集CREATE DATABASE student_evaluation DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;再把连接 URL 加上useUnicodetruecharacterEncodingutf-8最后检查 Tomcat 的server.xml里 Connector 是否配置了URIEncodingUTF-8。这三个地方一环扣一环漏一个都会出现乱码。5.5 端口被占用导致 Tomcat 启动失败现象Port 8080 was already in use或者SEVERE: Error initializing endpoint。原因之前启动过的 Tomcat 没完全退出或者本地有其他应用占了 8080。解决Windows 下敲netstat -ano | findstr 8080找到 PID 后在任务管理器结束进程。也可以用命令强制结束taskkill /f /pid 具体的PID号如果 8080 被系统服务占用不好杀就直接改 Tomcat 的server.xml把端口换成 8081省心很多。6. 二次开发实战把通用评价系统改成你学校的版本6.1 调整评价维度和权重拿到源码跑起来之后第一件值得做的事就是把评价维度从「通用」改成「贴合本校」。大多数场景下学校对学生的综合素质评价会分成思想品德、学业成绩、体育素养、美育修养、劳动实践五个维度部分学校还会加创新创业加分。这套系统里评价维度存在数据库表中你只需要做两步数据库更新维度数据后端修改权重计算逻辑。UPDATE evaluation SET evaluation_type 思想品德 WHERE evaluation_type 德育; INSERT INTO evaluation (student_id, teacher_id, score, content, evaluation_type, create_time) SELECT student_id, teacher_id, score, content, 劳动实践, create_time FROM evaluation WHERE evaluation_type 社会实践;权重配置如果不在数据库里就需要在calculateComprehensiveScore方法中手动维护一个权重 Map。我的建议是把它做成一张独立的evaluation_weight表字段就放type和weightService 层启动时加载到内存缓存。这样后续要调整比例改数据库即可不用重新编译代码。6.2 新增一个「辅导员审批」环节如果学校要求评价结果必须经过辅导员审核后才能发布可以这样改评价表加一个status字段0 待审核 / 1 已通过 / 2 已驳回教师提交评价后默认状态 0辅导员登录看到待审核列表通过后状态变为 1学生端才可见。public int approveEvaluation(Integer id, Integer adminId) { Evaluation evaluation evaluationMapper.selectByPrimaryKey(id); if (evaluation null) { throw new ServiceException(评价记录不存在); } evaluation.setStatus(1); evaluation.setApproverId(adminId); evaluation.setApproveTime(new Date()); return evaluationMapper.updateByPrimaryKeySelective(evaluation); }前端在「学生评价管理」页面对应加一个「审核」按钮管理员和教师角色之外的辅导员角色可以复用管理员的权限模板。这套系统最大的优点就是结构规整加功能时只要照着「Controller → Service → Mapper XML → Vue 页面」这条链路走基本不会迷路。从代码规范的角度说任何改动都要先在本地把原系统完整跑一遍确认基线正常再动手。我记得有一次为了加一个导出 Excel 的功能直接改了 Service 层的核心方法结果把一个分页参数传错了整整排查了一个下午。从那以后我每次改完代码都强制走一遍完整流程编译、启动、登录、点一遍所有菜单、测一次评价流程确认无回归再提交。希望这篇解析能帮你在 SSM Vue 这条路上少踩几个坑顺利把这套综合素质评价系统变成真正属于你自己的项目。本文还有配套的精品资源点击获取

相关新闻

VSCode摸鱼插件 FreeWindow 配置到 TaoToken 的完整实践

VSCode摸鱼插件 FreeWindow 配置到 TaoToken 的完整实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 10:42:49 阅读更多 →
免费GEO监测体系搭建:从指标到内容优化的AI搜索实战指南

免费GEO监测体系搭建:从指标到内容优化的AI搜索实战指南

过去大半年,我几乎每周都会打开一张统计表,记下几组固定问题在各类AI搜索平台里有没有“带出”我负责的网站。说实话,刚开始做这件事的时候,很多同行觉得我是在自嗨:内容能被搜索引擎收录就不错了,谁还管AI…

2026/10/18 10:41:49 阅读更多 →
Linux下NVML初始化失败的系统级诊断与修复

Linux下NVML初始化失败的系统级诊断与修复

1. 这不是驱动装错了,是系统底层状态被悄悄污染了“安装NVIDIA推荐驱动报错”“nvidia-smi报错 Failed to initialize NVML”——这两句话在Linux图形工作站、AI训练服务器、甚至普通深度学习开发者的终端里,出现频率高得反常。我见过太多人反复卸载重装…

2026/10/18 10:41:49 阅读更多 →

最新新闻

Flink实时计算三要素:Window、State与Checkpoint深度解析

Flink实时计算三要素:Window、State与Checkpoint深度解析

做实时计算绕不开这几个词:Window、State、Checkpoint。不管你是刚接触Flink,还是已经写了一段时间作业,总会遇到数据算不准、重启后状态丢了、窗口边界对不齐这类问题。我见过很多新手一上来就写业务代码,结果窗口和状态混在一起…

2026/10/18 11:32:06 阅读更多 →
YOLOv12即插即用模块化改进:注意力机制与跨尺度融合实战

YOLOv12即插即用模块化改进:注意力机制与跨尺度融合实战

1. 模块即插即用的整体设计思路1.1 为什么我坚持用模块替换而不是重构整个网络YOLOv12 的改进工作做到第三部分,先说一下我的总体判断:如果你不是做学术研究、不是想发论文,而是手上有一个实际项目要落地,最好的做法不是把网络结构…

2026/10/18 11:32:06 阅读更多 →
AI信息源清单与100美元低成本训练:一份可落地的技术路径指南

AI信息源清单与100美元低成本训练:一份可落地的技术路径指南

最近在 GitHub 上扒到一份挺有意思的开源收藏:92 个 AI 信息源被整理成一份清单,论文、开源仓库、Newsletter、播客、社区讨论全都收进去了。我第一次刷完这份清单的感觉是“这也太干了”,但真正用了一段时间后,我意识到值钱的不是…

2026/10/18 11:32:06 阅读更多 →
高校统一身份认证系统设计:CAS单点登录与安全实现指南

高校统一身份认证系统设计:CAS单点登录与安全实现指南

1. 为什么要做高校统一身份认证前阵子有个A同学抱着毕设题目来问我:“Java写一个高校统一身份认证系统,到底怎么做才是对的?”我一看题目就明白了,这几乎是每届计算机毕设的常客。做的人多,但真正把“统一身份认证”这…

2026/10/18 11:32:06 阅读更多 →
Java实现TRC20收款系统:从区块扫描到幂等回调的完整实践

Java实现TRC20收款系统:从区块扫描到幂等回调的完整实践

简介:这是一套基于Java开发的TRC20收款系统完整源码包,面向Java后端开发者与区块链应用集成人员,可用于快速搭建支持USDT(TRC20)收款的业务平台。资源共377个文件,压缩包仅6.15MB,结构清晰&…

2026/10/18 11:32:06 阅读更多 →
LangChain SQL Agent实战:构建企业级自然语言查数助手

LangChain SQL Agent实战:构建企业级自然语言查数助手

说实话,直到今天,仍然有大量团队在“让大模型直接写SQL”这件事上反复踩坑。裸调大模型接口,让它根据一句“帮我查一下上个月华东区哪些客户的回款逾期了”生成SQL,然后把结果丢给用户——你很快会发现几类问题:生成的…

2026/10/18 11:31:06 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →