PENCV手势识别抓取图片

一位油管的小哥做的项目非常棒,照着写了一个。
代码:
注意:看好cvzone的版本,太新的版本中有个函数没有,如果找不到这个函数的时候请更换一下库的版本。

import cv2
from cvzone.HandTrackingModule import HandDetector
import cvzone
import numpy as npcap = cv2.VideoCapture(0)
cap.set(3, 1280)
cap.set(4, 720)
detector = HandDetector(detectionCon=0.8)
colorR = (255, 0, 255)cx, cy, w, h = 100, 100, 200, 200class DragRect():def __init__(self, posCenter, size=[200, 200]):self.posCenter = posCenterself.size = sizedef update(self, cursor):cx, cy = self.posCenterw, h = self.size# 指尖在矩形内if cx - w // 2 < curosor[0] < cx + w // 2 and \cy - h // 2 < curosor[1] < cy + h // 2:self.posCenter = cursorrectList = []
for x in range(5):rectList.append(DragRect([x * 250 + 150, 150]))while True:success, img = cap.read()img = cv2.flip(img, 1)img = detector.findHands(img)lmList, _ = detector.findPosition(img)if lmList:l, _, _ = detector.findDistance(8, 12, img, draw=False)print(l)if l < 30:curosor = lmList[8]  # finger# 调用更新for rect in rectList:rect.update(curosor)# draw 实体填充# for rect in rectList:#     cx, cy = rect.posCenter#     w, h = rect.size#     cv2.rectangle(img, (cx - w // 2, cy - h // 2), (cx + w // 2, cy + h // 2), colorR, cv2.FILLED)#     cvzone.cornerRect(img, (cx - w // 2, cy - h // 2, w, h), 20, rt=0)# 虚化imgNew = np.zeros_like(img)for rect in rectList:cx, cy = rect.posCenterw, h = rect.sizecv2.rectangle(imgNew, (cx - w // 2, cy - h // 2), (cx + w // 2, cy + h // 2), colorR, cv2.FILLED)cvzone.cornerRect(imgNew, (cx - w // 2, cy - h // 2, w, h), 20)out = img.copy()alpja = 0.5mask = imgNew.astype(bool)#print(mask.shape)out[mask] = cv2.addWeighted(img, alpja, imgNew, 1, -alpja, 0)[mask]cv2.imshow("Image", out)cv2.waitKey(1)

OPENCV手势识别抓取图片相关推荐

  1. Python通过代理多线程抓取图片

    前言 Python作为一门功能强大的脚本语言,经常被用来写爬虫程序,下面是Python通过代理多线程抓取图片代码 Python爬虫多线程抓取代理服务器参考: http://www.linuxeye.c ...

  2. 获取http地址如何从上面抓取图片_用 Python 自动抓取妹子图

    目录 前言 Media Pipeline 启用Media Pipeline 使用 ImgPipeline 抓取妹子图 瞎比比与送书后话 前言 我们在抓取数据的过程中,除了要抓取文本数据之外,当然也会有 ...

  3. python opencv手势识别_OpenCV+Python3.5 简易手势识别的实现

    检测剪刀石头布三种手势,通过摄像头输入,方法如下: 选用合适颜色空间及阈值提取皮肤部分 使用滤波腐蚀膨胀等方法去噪 边缘检测 寻用合适方法分类 OpenCV用摄像头捕获视频 采用方法:调用OpenCV ...

  4. Python&Opencv手势识别系统

    Python手势识别与控制 概述 本文中的手势识别与控制功能主要采用 OpenCV 库实现, OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库, 可以运行在Linux, Windows ...

  5. RegExp抓取图片

    RegExp抓取图片 几种显示图片的方式: html语法不严格 <ul><li><img src='img.png' /></li><li> ...

  6. opencv手势识别(1_手势分割)

    手势识别系列博文1:手势分割 琴某人辛辛苦苦码的报告,当然不能让你们这么容易复制过去(๑• . •๑)   后文有代码实现:    6种肤色检测方法的原理及实现:https://blog.csdn.n ...

  7. Python抓取图片

    Python 抓取图片(记录) 记录过程,怕忘了.复制就能用. # coding=utf-8 import os import platform from multiprocessing.pool i ...

  8. c#大华摄像头调用,抓取图片

    目前需引用的文件还在审核中,这边提供有道云的链接提供下载: 文档:c#大华摄像头调用,抓取图片.note 链接:http://note.youdao.com/noteshare?id=1b539df4 ...

  9. Ubuntu14.04配置pylon及Opencv并抓取图像显示

    Ubuntu14.04配置pylon及Opencv并抓取图像显示 文章目录 Ubuntu14.04配置pylon及Opencv并抓取图像显示 软件工具 安装Opencv 配置pkg-config 配置 ...

最新文章

  1. php url 安全性,在php中获取url内容的安全性
  2. 网络爬虫中进行数据抓取
  3. 拖拽元素自定义html模板,JS实现的自定义网页拖动类
  4. 算法9---二叉树的遍历不用栈和递归
  5. python调用robotframework_robotframework+python接口自动化的点滴记录(2)
  6. android webview网页显示不完整,【报Bug】webview页面内容显示不全
  7. stat,查看文件属性
  8. JXTA Kitchen
  9. 【图像处理】色彩空间 YUV 420 SP / YUV 420 P 含义 RGB转换 YUV 黑色怎么表示
  10. Cisco Packet Tracer 思科模拟器交换机的链路聚合技术
  11. Conda 的 yml 文件 Conda/PIP 国内镜像源的添加
  12. 考研408(操作系统、计算机组成原理、数据结构、计算机网络)
  13. ubuntu CA安装 证书申请
  14. 游戏‘微信打飞机 第一课
  15. Python 智能项目:1~5
  16. java: 警告: 源发行版 xx 需要目标发行版 1.10 解决方案
  17. a-select设置默认值
  18. [Go实战]CGO 入门系列-手把手教程4 调用 libevent (c语言类库)为案例
  19. PyQt5——显示图片
  20. android系统的手机文件夹目录详解

热门文章

  1. AutoCAD Civil 3D-总结-公路工程建模步骤
  2. LTE学习-RACH(2)
  3. 进程调度之时间片轮转调度算法(实验三)
  4. Mybatis源码学习-动态代理
  5. mysql2hive建表语句的转换
  6. HumanNeRF:从2D视频提取动态人像,并转换为3D模型
  7. Linux下安装无线网卡驱动
  8. jsp onpropertychange
  9. Window Installer Clean Up好用的软件管理工具
  10. java web汽车商城_基于jsp的网上汽车商城-JavaEE实现网上汽车商城 - java项目源码...