当前位置: 首页 > article >正文

摄像头进行视频捕获并定时截取屏幕图像

 这段 Python 代码实现了使用电脑自身摄像头进行视频捕获,并定时截取屏幕图像,然后将图像进行 Base64 编码后发送到百度图像分类接口driver_behavior进行处理,最后打印出接口的返回结果。同时,代码提供了通过按下 “q” 键退出程序的功能。

import cv2
import numpy as np
import requests
import base64


def video_demo():
    print('开始')
    cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)  # 电脑自身摄像头
    i = 0  # 定时装置初始值
    photoname = 1  # 文件名序号初始值
    request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/driver_behavior"
    access_token = '24.1a01797496f89c67d7e26604ffeda788.2592000.1658319888.282335-26497825'

    while True:
        i = i + 1
        reg, frame = cap.read()
        frame = cv2.flip(frame, 1)  # 图片左右调换
        cv2.imshow('window', frame)

        if i == 10:  # 定时装置,定时截屏,可以修改。

            filename = str(photoname) + '.png'  # filename为图像名字,将photoname作为编号命名保存的截图
            cv2.imwrite('E:/baiduAI/camera/photo' + '\\' + filename,
                        frame)  # 截图 前面为放在桌面的路径 frame为此时的图像
            f = open('1.png', 'rb')
            img = base64.b64encode(f.read())
            params = {"image": img}
            request_url = request_url + "?access_token=" + access_token
            headers = {'content-type': 'application/x-www-form-urlencoded'}
            response = requests.post(request_url, data=params, headers=headers)
            if response:
                print(response.json())
            i = 0  # 清零

        if cv2.waitKey(1) & 0xff == ord('q'):
            break
    # 释放资源
    cap.release()


video_demo()
cv2.destroyAllWindows()


http://www.kler.cn/news/289310.html

相关文章:

  • 【前端面试】设计循环双端队列javascript
  • C#通过ACE OLEDB驱动程序访问 Access和 Excel
  • K8s 节点管理:使用 kubeadm 删除和重新添加 Kubernetes 节点
  • 软件架构设计——DCI 范型
  • uni-app支持Vue 3的组件库推荐几个
  • 创新之光闪耀,点赋科技在第十三届创新创业大赛中绽放光彩
  • Django form.save 方法的详细分析
  • 毕业设计选题系统
  • 前段框架有哪些
  • 一起学习LeetCode热题100道(65/100)
  • 数据结构基本知识
  • Rust: Web框架Axum和Rest Client协同测试
  • 从 Oracle 到 TiDB 丨数据库资源评估指南
  • CUDA与TensorRT学习一:并行处理与GPU体系架构
  • 名城优企游学活动走进龙腾半导体:CRM助力构建营销服全流程体系
  • nginx部署前段VUE项目
  • wsl2 无法上网解决方法
  • 文本文件完整性判断-加密
  • Python中排序算法之冒泡排序
  • Soul Machines——AI生成虚拟主播或虚拟人,模拟真人交互
  • 后端MVC三层架构,Mybatis ,雪花算法生成唯一id
  • 『功能项目』销毁怪物蛋的Shaders消融特效【17】
  • SpringDataJPA系列(5)@Query应该怎么用?
  • QT connect的使用
  • 算法练习题11:单词出现次数
  • Android kotlin使用Netty网络框架实践(客户端、服务端)
  • 新版Pycharm的Available Packages里面为空,新版没有Manage Repositories功能,如何解决
  • OpenGL/GLUT实践:弹簧-质量-阻尼系统模拟摆动的绳子和布料的物理行为(电子科技大学信软图形与动画Ⅱ实验)
  • 《React Hooks:让你的组件更灵活》
  • Android之电量优化