栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pycharm如何安装opencv库(pycharm中库安装+opencv手势识别)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pycharm如何安装opencv库(pycharm中库安装+opencv手势识别)

pycharm中库安装+opencv手势识别

python开发编译环境搭建百度API申请流程

python开发编译环境搭建

近期需要使用PYNQ开发板做一手势识别的项目,在此做一些学习笔记,供随时翻阅及他人参考。

    安装pycharm

    python及opencv安装可参考:链接: link.

    国内常用的源及cmd命令行下如何换源 :链接: link.

    pycharm中如何换源及库的安装

    进入设置的该路径下,点击“+”,其中Package下即为该python3.9环境下已经安装过的库及工具包

点击红色箭头所示按钮,进入下载源添加及删除界面:

图中所示下载源均可自行添加,建议将常用的全部添加上,以保证需要的包均可搜索到

添加好下载源后,即可在以下界面搜索需要的库及工具包,如果添Install失败,可尝试其余的源:

若还是报类似以下的错误,可尝试以下解决办法

按照图中所示步骤,重新添加Sytem Interpreter,选择python路径为系统python安装路径下的.exe文件,本机安装的python版本为python3.9.7。采用该处理方法的原因是可能python解释器类型设置为了Virtualenv Environment,而不是Sytem Interpreter,亲测有效!

百度API申请流程

可参考链接: link.
说明 使用该功能需要在百度智能云上实名注册,可领取免费调用资源,包括手势识别,驾驶行为分析,人体关键点识别等功能,但是调用量受限制,一般一种功能为5k或1w次,就是说调用其函数一次计数一次(while中会调用多次)
支持的24类手势列表:拳头、OK、祈祷、作揖、作别、单手比心、点赞、Diss、我爱你、掌心向上、双手比心(3种)、数字(9种)、Rock、竖中指。
程序如下

import os
import cv2
from aip import AipBodyAnalysis
from aip import AipSpeech
from threading import Thread
import time
from playsound import playsound
import matplotlib.pyplot as plt
""" 你的 APPID AK SK """
APP_ID = '25799898'  
API_KEY = 'Iy5lTo13t1IctxTkXzS8c2Hl'
SECRET_KEY = '1rOq6rWioKnuqIorHKwdGI7aicG639Gq'
''' 调用'''

hand = {'One': '数字1', 'Five': '数字5', 'Fist': '拳头', 'Ok': 'OK',
        'Prayer': '祈祷', 'Congratulation': '作揖', 'Honour': '作别',
        'Heart_single': '比心心', 'Thumb_up': '点赞', 'Thumb_down': 'Diss',
        'ILY': '我爱你', 'Palm_up': '掌心向上', 'Heart_1': '双手比心1',
        'Heart_2': '双手比心2', 'Heart_3': '双手比心3', 'Two': '数字2',
        'Three': '数字3', 'Four': '数字4', 'Six': '数字6', 'Seven': '数字7',
        'Eight': '数字8', 'Nine': '数字9', 'Rock': 'Rock', 'Insult': '竖中指', 'Face': '脸'}
        
# 手势识别
gesture_client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)

capture = cv2.VideoCapture(0)  # 0为默认摄像头


def camera():
    while True:
        # 获得图片
        ret, frame = capture.read()
        # cv2.imshow(窗口名称, 窗口显示的图像)
        # 显示图片
        cv2.imshow('frame', frame)
        if cv2.waitKey(1) == ord('q'):
            break


Thread(target=camera).start()  # 引入线程防止在识别的时候卡死


def gesture_recognition():
    # 第一个参数ret 为True 或者False,代表有没有读取到图片

    # 第二个参数frame表示截取到一帧的图片

    while True:
        try:
            ret, frame = capture.read()

            # 图片格式转换
            image = cv2.imencode('.jpg', frame)[1]
            gesture = gesture_client.gesture(image)  # AipBodyAnalysis内部函数
            words = gesture['result'][0]['classname']

            # voice(hand[words])
            print(hand[words])

        except:
            if cv2.waitKey(1) == ord('q'):
                break

gesture_recognition()

注意:需要在程序里修改APPID AK SK,设置为你从百度申请到的API的具体参数(记得申请免费调用资源,否则会出现调用失败的情况)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772727.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号