OPENCV手势识别抓取图片
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手势识别抓取图片相关推荐
- Python通过代理多线程抓取图片
前言 Python作为一门功能强大的脚本语言,经常被用来写爬虫程序,下面是Python通过代理多线程抓取图片代码 Python爬虫多线程抓取代理服务器参考: http://www.linuxeye.c ...
- 获取http地址如何从上面抓取图片_用 Python 自动抓取妹子图
目录 前言 Media Pipeline 启用Media Pipeline 使用 ImgPipeline 抓取妹子图 瞎比比与送书后话 前言 我们在抓取数据的过程中,除了要抓取文本数据之外,当然也会有 ...
- python opencv手势识别_OpenCV+Python3.5 简易手势识别的实现
检测剪刀石头布三种手势,通过摄像头输入,方法如下: 选用合适颜色空间及阈值提取皮肤部分 使用滤波腐蚀膨胀等方法去噪 边缘检测 寻用合适方法分类 OpenCV用摄像头捕获视频 采用方法:调用OpenCV ...
- Python&Opencv手势识别系统
Python手势识别与控制 概述 本文中的手势识别与控制功能主要采用 OpenCV 库实现, OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库, 可以运行在Linux, Windows ...
- RegExp抓取图片
RegExp抓取图片 几种显示图片的方式: html语法不严格 <ul><li><img src='img.png' /></li><li> ...
- opencv手势识别(1_手势分割)
手势识别系列博文1:手势分割 琴某人辛辛苦苦码的报告,当然不能让你们这么容易复制过去(๑• . •๑) 后文有代码实现: 6种肤色检测方法的原理及实现:https://blog.csdn.n ...
- Python抓取图片
Python 抓取图片(记录) 记录过程,怕忘了.复制就能用. # coding=utf-8 import os import platform from multiprocessing.pool i ...
- c#大华摄像头调用,抓取图片
目前需引用的文件还在审核中,这边提供有道云的链接提供下载: 文档:c#大华摄像头调用,抓取图片.note 链接:http://note.youdao.com/noteshare?id=1b539df4 ...
- Ubuntu14.04配置pylon及Opencv并抓取图像显示
Ubuntu14.04配置pylon及Opencv并抓取图像显示 文章目录 Ubuntu14.04配置pylon及Opencv并抓取图像显示 软件工具 安装Opencv 配置pkg-config 配置 ...
最新文章
- php url 安全性,在php中获取url内容的安全性
- 网络爬虫中进行数据抓取
- 拖拽元素自定义html模板,JS实现的自定义网页拖动类
- 算法9---二叉树的遍历不用栈和递归
- python调用robotframework_robotframework+python接口自动化的点滴记录(2)
- android webview网页显示不完整,【报Bug】webview页面内容显示不全
- stat,查看文件属性
- JXTA Kitchen
- 【图像处理】色彩空间 YUV 420 SP / YUV 420 P 含义 RGB转换 YUV 黑色怎么表示
- Cisco Packet Tracer 思科模拟器交换机的链路聚合技术
- Conda 的 yml 文件 Conda/PIP 国内镜像源的添加
- 考研408(操作系统、计算机组成原理、数据结构、计算机网络)
- ubuntu CA安装 证书申请
- 游戏‘微信打飞机 第一课
- Python 智能项目:1~5
- java: 警告: 源发行版 xx 需要目标发行版 1.10 解决方案
- a-select设置默认值
- [Go实战]CGO 入门系列-手把手教程4 调用 libevent (c语言类库)为案例
- PyQt5——显示图片
- android系统的手机文件夹目录详解
热门文章
- AutoCAD Civil 3D-总结-公路工程建模步骤
- LTE学习-RACH(2)
- 进程调度之时间片轮转调度算法(实验三)
- Mybatis源码学习-动态代理
- mysql2hive建表语句的转换
- HumanNeRF:从2D视频提取动态人像,并转换为3D模型
- Linux下安装无线网卡驱动
- jsp onpropertychange
- Window Installer Clean Up好用的软件管理工具
- java web汽车商城_基于jsp的网上汽车商城-JavaEE实现网上汽车商城 - java项目源码...