# AI方块拖拽项目 **Repository Path**: kaubuo/ai-block-drag-project ## Basic Information - **Project Name**: AI方块拖拽项目 - **Description**: 新手练手项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2023-10-12 - **Last Updated**: 2025-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI方块拖拽项目 #### 项目描述 1. 通过引入opencv,读取并打开计算机摄像头获取视频流,并进行逐帧读取返回值 2. 在读取的视频画面上画一个方块,并定义方块左上角坐标与方块边长从而确定好方块位置与大小 3. 导入mediapipe包识别两双手的21个关键点坐标,并创建两个空列表x_list[],y_list[]来保存手指关节的相对位置坐标 4. 获取视频画面的width,height,用mediapipe识别到的相对关键点坐标与其相乘得到关键点的实际图像坐标,通过手指关键点实际图像坐标来判断是否处于方块之中 5. 在步骤四的基础上,如果手指处于方块中便使方块随手指移动,并增加两个判断条件,(1)当食指与中指距离大于30时不激活方块,这一条件解决了方块在手指上甩不掉的问题。 (2),对方块的填充颜色进行修改,使方块处于激活与不激活的状态下展示不同的颜色,方便判断此时是否激活方块 ![输入图片说明](%E4%BB%A3%E7%A0%81%E6%88%AA%E5%9B%BE.png) #### 功能 1. 调用本机摄像头获取视频流 2. 获取视频画面内出现的手指关键点坐标 3. 绘制出一个方块并跟随手指移动 #### 依赖 本项目依赖一下python库 - opencv - numpy - mediapipe - math #### 使用 1. 克隆或下载此项目到本地 2. 确保已安装以上所有python库 3. 使用anaconda创建python版本为3.8的虚拟环境下运行后缀.py文件 #### 运行效果 #### 个人信息 - 学号:202152320117 - 姓名:桑瑞坤 - 专业班级:21智能科学与技术一班