Python手势识别

2023-10-29

  这是借鉴了github上的一个源程序,参考源:https://github.com/lzane/Fingers-Detection-using-OpenCV-and-Python

  自己在这个基础上做了一点修改补充后,可以实现手指指尖的检测,并且可以在windows系统下通过判断手指数目,来模拟键盘操作。下面直接上源程序,并做了详细注释,方便理解。

  环境:python3.6+opencv3.4.0

代码如下:

import cv2
import numpy as np
import copy
import math
import win32api
import win32con

# 参数
cap_region_x_begin = 0.5  # 起点/总宽度
cap_region_y_end = 0.8
threshold = 60  # 二值化阈值
blurValue = 41  # 高斯模糊参数
bgSubThreshold = 50
learningRate = 0

# 变量
isBgCaptured = 0  # 布尔类型, 背景是否被捕获
triggerSwitch = False  # 如果正确,键盘模拟器将工作


def printThreshold(thr):
    print("! Changed threshold to " + str(thr))


def removeBG(frame): #移除背景
    fgmask = bgModel.apply(frame, learningRate=learningRate) #计算前景掩膜
    kernel = np.ones((3, 3), np.uint8)
    fgmask = cv2.erode(fgmask, kernel, iterations=1) #使用特定的结构元素来侵蚀图像。
    res = cv2.bitwise_and(frame, frame, mask=fgmask) #使用掩膜移除静态背景
    return res

# 相机/摄像头
camera = cv2.VideoCapture(0)   #打开电脑自带摄像头,如果参数是1会打开外接摄像头
camera.set(10, 200)   #设置视频属性
cv2.namedWindow('trackbar') #设置窗口名字
cv2.resizeWindow(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python手势识别 的相关文章

随机推荐

  • 08模板学习之自己写一个模板数组MyArray案例(等号重载为什么要返回引用)

    08模板学习之自己写一个模板数组MyArray案例 等号重载为什么要返回引用 1 案例代码 注意 因为是模板类的编写 所以直接写在同一文件 不必注意 h和 cpp分离时重载运算符的声明或者友元函数的声明 文件命名为 MyArray hpp
  • 虚拟ip是真实访问你的服务器吗,浅谈windows操作系统下虚拟ip

    生活场景中 经常会看到 局域网内 多个不同客户端设备 将数据发送到服务器上 而服务器要求一个客户端一个IP 如图1 1所示 多个客户端A B C通过路由器M连接到服务器N 图1 1 作为一名 搬砖 码农 要把服务器最大连接客户端设备的数量
  • CentOS服务器配置PHP环境(PHP+Apache+MySQL)

    腾讯云服务器用的是 CentOS 7 4 64位镜像 一 登录服务器 二 安装Apache 1 安装 yum y install httpd 2 开启apache服务 systemctl start httpd service 3 设置ap
  • 四十九.队列C语言实现

    include
  • Python Pandas之DataFrame

    和一个ndarray一样 我们通过shape ndim dtype了解这个ndarray的基本信息 那么对于DataFrame我们有什么方法了解呢 DataFrame的基础属性 df shape 行数列数 df dtypes 列数据类型 d
  • Auto CAD:CAD三维建模设计之渲染工具(光源、阳光和位置、材质、渲染)之详细攻略

    Auto CAD CAD三维建模设计之渲染工具 光源 阳光和位置 材质 渲染 之详细攻略 目录 CAD三维建模设计之渲染工具 光源 阳光和位置 材质 渲染 光源 阳光和位置
  • 最新爆料!RK3588 适配 OpenHarmony 的新进展

    前言 根据最新爆料 在鸿湖万联团队的努力下 当前已完成了RK3588基于全新的硬件架构 ARM Mali G610 在OpenHarmony操作系统上第一阶段的适配工作 下一步计划正在稳步推进中 进展喜人 下面先为大家爆料当前的最新进展 R
  • js读取Excel 文件并依据指定内容生成sql文件

    最近接到个需求是通过excel文件生成数据库 于是便做了这么个工具 开发思路 1 读取Excel文件 2 将内容转换为sql 3 生成对应类型的sql文件 读取Excel 使用现成的工具 xlsx core js xlsx core js
  • PriorityQueue详解

    JAVA中PriorityQueue详解 top k算法的经典实现是大顶堆和小顶堆 而在JAVA中可以用PriorityQueue实现小顶堆 话不多说 直接上代码 public static List
  • 七牛云——qshell一个神奇的工具

    前言 qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具 该工具设计和开发的主要目的就是帮助开发者快速解决问题 目前该工具融合了七牛存储 CDN 以及其他的一些七牛服务中经常使用到的方法对应的便
  • 小程序开发--开发者工具的插件推荐

    写在前面 用官方的开发者工具真的是 emm不是很好用 加上这些插件可以帮助更加舒服的进行开发 除了wxml 建议其他的都可以安装 这个开发者工具感觉是嵌套了vscode 安装插件 命令什么的都和vscode一样 安装步骤 1 在vscode
  • <C:\Users\~>位置没有.kaggle文件夹的解决方法

    命令 pip install kaggle 我第一次是在终端运行 显示下载成功 但是没有文件 搜索很多办法后 又在jupyter notebook里面运行 再运行kaggle competitions list 还是不行 最后 想到以前更新
  • 瑞吉外卖-项目要点总结

    文章目录 一 对于返回参数这一块 配置了一个对象映射器 即将返回给前端的Java对象数据 序列化为字符串 在将前端传递的字符串数据反序列化Java对象 二 公共字段的自动填充 三 文件上下传 四 短信发送 五 Redis缓存搭建 六 Spr
  • 只出现一次的数字

    给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 示例 1 输入 2 2 1 输出 1 public int singleNumber int nums HashSet
  • 内存泄漏分析的利器——gperftools的Heap Checker

    内存泄漏分析的利器 gperftools的Heap Checker 介绍 gperftools是Google开源的一款非常使用的性能分析工具集 主要由四个组件组成 Tcmalloc内存分析器 Tcmalloc是Thread Cache ma
  • 论文阅读笔记-ClusType: Effective Entity Recognition and Typing by Relation Phrase-Based Clustering

    作者 Xiang Ren Ahmed El Kishky Chi Wang Fangbo Tao Clare R Voss Heng Ji Jiawei Han 单位 University of Illinois at Urbana Cha
  • 第四届蓝桥杯JavaB组省赛-三部排序

    第四届蓝桥杯JavaB组省赛 三部排序 题目描述 一般的排序有许多经典算法 如快速排序 希尔排序等 但实际应用时 经常会或多或少有一些特殊的要求 我们没必要套用那些经典算法 可以根据实际情况建立更好的解法 比如 对一个整型数组中的数字进行分
  • MySQL - utf8mb4字符集设置(解决emoji表情的记录无法保存问题)

    1 emoji介绍 1 emoji 就是表情符号 来自日语词汇 絵文字 假名为 读音即 emoji 2 最早由栗田穰崇 Shigetaka Kurita 创作 并在日本网络及手机用户中流行 自苹果公司发布的 iOS 5 输入法中加入了 em
  • 医学影像的格式转换

    参考 医学影像数据之nii npz npy dcm mhd 的数据格式互转 及多目标分割处理汇总 nii gz 和mhd 钱多多先森的博客 CSDN博客
  • Python手势识别

    这是借鉴了github上的一个源程序 参考源 https github com lzane Fingers Detection using OpenCV and Python 自己在这个基础上做了一点修改补充后 可以实现手指指尖的检测 并且