- 博客(14)
- 收藏
- 关注
原创 OpenCV案例——手部检测
MediaPipe Hands 是谷歌开源的轻量级手部关键点检测方案,单帧即可输出 21 个手部三维归一化坐标,无需复杂环境配置,仅依靠 OpenCV 就能实现摄像头实时手部识别、关键点标注打印。17-20:小拇指 可根据对应关键点坐标差值,判断手指伸直、握拳、OK、剪刀手等各类手势。static_image_mode=False:视频流模式,开启手部跟踪,速度更快。mp_drawing:绘图工具,专门用来在图像上绘制手部21个关键点、手指连接线。max_num_hands=2:画面最多同时识别两只手。
2026-07-17 13:57:46
341
原创 OpenCV案例——人脸检测
项目使用 OpenCV 自带的 Haar 级联人脸分类器,无需训练模型,直接调用预训练的人脸特征文件,即可自动识别图片中所有人脸的坐标、数量,并使用绿色矩形框标出人脸位置,同时控制台输出检测到的人脸总数和具体位置。单纯一个强分类器遍历整张图片依然很慢,于是设计串联层级结构,也就是级联:每一层由少量强分类器组成,越往后层级分类器数量越多、识别越精细。人脸检测只依赖图像明暗纹理,彩色三通道会增加计算开销,因此转换为单通道灰度图,是 Haar 检测必不可少的预处理步骤。识别,扫描,按照不同比例来进行扫描。
2026-07-03 10:48:49
288
原创 OpenCV案例——微笑检测
项目采用分层检测逻辑,先识别画面中的人脸区域,再只在人脸范围内检测微笑,有效规避背景干扰,提升识别准确率。程序运行后会调用本地摄像头,绿色框标记人脸,蓝色框标记微笑区域,检测到微笑时画面会显示 smile 提示文字,按下 ESC 键即可退出程序,非常适合入门学习视频流处理、目标检测基础原理。由于微笑检测的坐标是人脸局部相对坐标,需要叠加人脸全局坐标完成坐标换算,最后用蓝色框标记微笑区域,同时在画面打印 smile 文字,直观提示检测成功。增加状态判断,画面读取失败时直接退出循环,防止程序报错崩溃。
2026-07-03 10:30:31
366
原创 OpenCV案例——光流估计
(1)calcOpticalFlowPyrLK函数:calcOpticalFlowPyrLK(prevImg, nextImg, prevPts, nextPts, winSize=None, maxLevel=None)good_old = p0[st == 1]:同步保留上一帧对应的匹配点;st[i] = 1:第 i 个特征点跟踪成功,在当前帧匹配到了对应位置;good_new = p1[st == 1]:保留当前帧匹配成功的点;输出的、算法预测出的当前帧对应特征点坐标,维度和。
2026-07-01 19:11:17
203
原创 OpenCV相关案例
cv2.findContours(edged.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2] edged.copy():拷贝边缘图,防止原图被修改;GaussianBlur(gray, (5, 5), 0):5×5 高斯核降噪,消除拍照产生的颗粒噪点,为边缘检测做铺垫;cv_show('contours_img', contours_img):展示绘制完全局轮廓的图像,直观查看所有物体边缘。MORPH_CROSS:十字形卷积核,3×3 尺寸;
2026-06-29 12:38:01
196
原创 深度学习(七)
一、分类数据:使用pandas读取微博四分类情感数据集;:定义字典将数字 0/1/2/3 对应喜悦、愤怒、厌恶、低落四种情绪;:通过shape[0]获取数据集总行数,输出全部微博样本总数;:循环筛选每种情绪对应的数据,输出单类样本数量,用于查看数据集是否均衡sample(10)随机抽取 10 条数据,直观观察文本、标签存储格式,方便校验数据预处理逻辑。二、分配独热编码<UNK>:未知字,测试集出现、词表未收录的生僻字统一映射该 ID;<PAD>:填充符,用于补齐短文本,统一所有输入序列长度。
2026-06-25 10:19:41
317
原创 深度学习(五)
按照设定的轮数,循环执行训练 + 测试流程,让模型反复学习数据特征、不断优化精度,同时每一轮结束后评估模型效果,全程记录准确率与损失变化。创建一个优化器,根据反向传播得到的参数梯度,自动更新神经网络的权重、偏置等可学习参数,让模型不断迭代优化。train 分支:面向训练集,组合多种随机变换,实现数据增强,用来扩充样本、抑制模型过拟合;def test:定义模型测试 / 评估函数,用于在每轮训练结束后,验证模型在测试集上的效果。dataloader:测试集的数据加载器,分批读取测试图像与标签。
2026-06-15 20:37:30
237
原创 MySQL数据库基本操作
一、DDL:数据定义语言基础创建 create database 数据库名称;不存在则创建,避免报错 create database if not exists 数据库名称;创建并指定字符集 create database 数据库名称 character set 字符集名;查询所有数据库 show databases;查看数据库创建语句、字符集 show create database 数据库名称;查看表结构 desc 表名;直接删除 drop database 数据库名称;
2026-05-21 17:12:58
673
原创 MySQL数据库
从返回结果可以看到,防火墙已被禁用(disabled)、当前处于未运行状态(inactive (dead)),代表防火墙关闭操作永久生效,系统端口已全部放开,可正常部署并远程访问 MySQL 数据库。后续安装 MySQL 等软件时,系统可直接调用缓存信息,大幅提升搜索、下载、安装速度,是更换国内源后必须执行的刷新操作。命令临时关闭防火墙服务,执行后防火墙立即停止运行,解除系统端口拦截限制,为后续 MySQL 的端口访问、远程连接放行网络环境,本次关闭仅对当前系统生效,服务器重启后防火墙会自动恢复开启。
2026-05-15 17:19:02
636
原创 Shell编程
定义变量str1,采用无引号拼接的方式,将字符串www.bilibili.com和变量$n的值拼接在一起,所以$n会被解析,最终str1的值是www.bilibili.com666。定义变量str1,通过直接拼接变量的方式,将name和url的值合并成一个字符串,最终str1的值为Linuxwww.bilibili.com。定义变量str3,使用单引号包裹字符串。定义变量str2,使用双引号拼接变量,变量会被解析,中间的空格也会被保留,最终str2的值为Linux www.bilibili.com。
2026-05-12 17:58:23
608
原创 爬虫相关操作
获取响应的文本内容,即网页的 HTML 源码,结果返回给result。拿到的只是网站服务器直接返回的 “原始 HTML”,很多动态内容(比如通过 JS 加载的评论、数据、列表)还没被渲染出来,所以这些内容在原始代码里是看不到的。使用 XPath 语法,提取当前 p 标签下 a 标签内 img 标签的 src 属性值,拼接图片的完整 URL,补全网站域名,得到可直接访问的图片地址。使用 XPath 语法,提取 id 为 pics-list 的 div 标签下所有的 p 标签,得到图片节点列表。
2026-05-07 21:49:59
1714
原创 Python库
获取当前目录地址获取时间差计算时间差获取当前时间时间休眠uniform()random()choice()shuffle()randint()
2026-04-29 20:30:41
282
原创 Python文件操作
模式特点:如果文件不存在,则创建文件;如果文件已存在,则会清空文件内容,重新写入。会让指针一直往后移动,如果想重新读取前面的内容,就需要用。输出的是文件对象的信息,包含文件名、打开模式和编码格式。模式表示只读模式,要求文件必须存在,否则会报错。可以逐行读取,非常适合处理大文件或多行文本。read () 无参数:读取整个文件内容。模式:追加写入,不覆盖原有内容。,如果文件已经存在,就会抛出。错误,防止误覆盖已有文件。会一次性读取所有内容,而。绝对路径:完整的文件地址。当文件有多行内容时,
2026-04-29 20:18:00
203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅