news 2026/6/6 12:18:01

python,食指操作翻页

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python,食指操作翻页

<<< 向左挥动: 后退
<<< 向左挥动: 后退
<<< 向左挥动: 后退

向右挥动: 前进
<<< 向左挥动: 后退
<<< 向左挥动: 后退
<<< 向左挥动: 后退
<<< 向左挥动: 后退
<<< 向左挥动: 后退
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
<<< 向左挥动: 后退
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
向右挥动: 前进
<<< 向左挥动: 后退
<<< 向左挥动: 后退

importcv2importmediapipeasmpimportpyautoguiimporttimeimportmath# ================= 配置区域 =================# 动作灵敏度 (0.05 - 0.2 之间,越小越灵敏)SWIPE_THRESHOLD=0.10# 两次动作之间的冷却时间 (秒),防止一次挥动触发多次翻页COOLDOWN_TIME=1.0# 浏览器快捷键映射KEY_BACK=['alt','left']# Chrome 后退 (上一页)KEY_FORWARD=['alt','right']# Chrome 前进 (下一页)# ===========================================classHandController:def__init__(self):# 初始化 MediaPipe Handsself.mp_hands=mp.solutions.hands self.hands=self.mp_hands.Hands(max_num_hands=1,min_detection_confidence=0.7,min_tracking_confidence=0.7)self.mp_draw=mp.solutions.drawing_utils# 状态变量self.prev_x=None# 上一帧的食指尖 X 坐标self.last_action_time=0# 上次触发动作的时间self.action_text=""# 屏幕上显示的提示文字self.action_display_timer=0# 文字显示计时器defdetect_gesture(self,landmarks):""" 检测挥动手势 landmarks: 手部关键点列表 """current_time=time.time()# 获取食指指尖 (关键点 8) 的 X 坐标 (范围 0.0 - 1.0)# 0.0 是屏幕左侧,1.0 是屏幕右侧index_finger_tip=landmarks.landmark[8]curr_x=index_finger_tip.x# 如果还在冷却时间内,只更新坐标,不触发动作ifcurrent_time-self.last_action_time<COOLDOWN_TIME:self.prev_x=curr_xreturnifself.prev_xisnotNone:# 计算移动距离diff_x=curr_x-self.prev_x# 判断移动幅度和方向# 向右挥动 (diff_x > 0) -> 前进ifdiff_x>SWIPE_THRESHOLD:print(">>> 向右挥动: 前进")pyautogui.hotkey(*KEY_FORWARD)self.last_action_time=current_time self.action_text="Next Page >"self.action_display_timer=30# 显示约1秒(30帧)# 向左挥动 (diff_x < 0) -> 后退elifdiff_x<-SWIPE_THRESHOLD:print("<<< 向左挥动: 后退")pyautogui.hotkey(*KEY_BACK)self.last_action_time=current_time self.action_text="< Previous Page"self.action_display_timer=30# 更新上一帧坐标self.prev_x=curr_xdefstart(self):# 打开摄像头cap=cv2.VideoCapture(0)# 设置分辨率 (降低分辨率可以提高处理速度)cap.set(3,640)cap.set(4,480)print("程序已启动!请将焦点切换到 Google Chrome 浏览器。")print("操作说明: 食指快速向左挥动 -> 后退,向右挥动 -> 前进")print("按 'q' 键退出程序")whileTrue:success,img=cap.read()ifnotsuccess:break# 1. 镜像翻转图像 (让画面看起来像照镜子,符合直觉)img=cv2.flip(img,1)# 2. 转换颜色空间 BGR -> RGBimg_rgb=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)# 3. 处理手部检测results=self.hands.process(img_rgb)ifresults.multi_hand_landmarks:forhand_lmsinresults.multi_hand_landmarks:# 绘制手部骨架self.mp_draw.draw_landmarks(img,hand_lms,self.mp_hands.HAND_CONNECTIONS)# 检测手势self.detect_gesture(hand_lms)else:# 如果没检测到手,重置位置,防止手重新出现时误判self.prev_x=None# 4. 在屏幕上显示反馈文字ifself.action_display_timer>0:cv2.putText(img,self.action_text,(50,50),cv2.FONT_HERSHEY_SIMPLEX,1,(0,255,0),3)self.action_display_timer-=1# 显示冷却状态iftime.time()-self.last_action_time<COOLDOWN_TIME:cv2.circle(img,(30,30),10,(0,0,255),-1)# 红点表示冷却中else:cv2.circle(img,(30,30),10,(0,255,0),-1)# 绿点表示就绪# 显示图像cv2.imshow("Chrome Hand Controller",img)# 按 'q' 退出ifcv2.waitKey(1)&0xFF==ord('q'):breakcap.release()cv2.destroyAllWindows()if__name__=="__main__":controller=HandController()controller.start()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 8:07:14

阿里达摩院参考:与自家Paraformer进行性能对比

阿里达摩院语音识别技术选型深度解析&#xff1a;Fun-ASR WebUI 与 Paraformer 的实践对比 在智能办公、远程协作和数字化服务日益普及的今天&#xff0c;语音识别已不再是实验室里的前沿技术&#xff0c;而是企业降本增效的关键工具。无论是会议纪要自动生成&#xff0c;还是客…

作者头像 李华
网站建设 2026/6/4 21:33:07

Packt出版社邀请:撰写《Mastering Fun-ASR》专著

Mastering Fun-ASR&#xff1a;语音智能时代的中文识别新范式 在远程办公常态化、AI原生应用爆发的今天&#xff0c;会议录音转写不准、客服对话提取困难、课堂内容无法复盘——这些看似琐碎的问题&#xff0c;正成为制约企业效率的真实瓶颈。而当大模型浪潮席卷自然语言处理领…

作者头像 李华
网站建设 2026/5/29 3:14:37

网盘直链下载助手:分享Fun-ASR模型包更便捷

网盘直链下载助手&#xff1a;分享Fun-ASR模型包更便捷 在语音技术快速渗透办公、教育和客服场景的今天&#xff0c;越来越多企业开始尝试将语音识别&#xff08;ASR&#xff09;集成到业务流程中。然而现实却常令人沮丧&#xff1a;云服务存在数据泄露风险&#xff0c;开源工具…

作者头像 李华
网站建设 2026/6/5 22:49:38

WinDbg Preview下载详细步骤:系统学习内核调试工具

从零开始掌握 WinDbg Preview&#xff1a;不只是“下载”&#xff0c;而是进入 Windows 内核调试的大门 你有没有遇到过这样的场景&#xff1f;系统突然蓝屏&#xff0c;重启后只留下一个 MEMORY.DMP 文件&#xff1b;新驱动一装上就崩溃&#xff0c;但日志里只有模糊的错误代…

作者头像 李华
网站建设 2026/5/23 14:17:59

基于Multisim的模拟电路教学改革:系统学习路径

基于Multisim的模拟电路教学重构&#xff1a;从“看懂”到“做出来”的进阶之路在电子类专业的课堂上&#xff0c;你是否见过这样的场景&#xff1f;学生面对一个共射放大电路&#xff0c;能默写出电压增益公式 $ A_v -g_m R_C $&#xff0c;也能画出直流通路和交流通路&#…

作者头像 李华
网站建设 2026/5/30 6:26:43

少数派效率工具推荐:将Fun-ASR纳入工作流指南

少数派效率工具推荐&#xff1a;将Fun-ASR纳入工作流指南 在远程会议频繁、信息密度激增的今天&#xff0c;我们每天都在面对一个隐形的时间黑洞——听录音、做笔记、整理要点。哪怕只是半小时的讨论&#xff0c;手动回放和摘录也可能耗去一小时以上。有没有一种方式&#xff0…

作者头像 李华