zoukankan      html  css  js  c++  java
  • opencv之调用摄像头

    基础知识

    # cap.set(propId, value)
    # 设置视频参数: propId - 设置的视频参数, value - 设置的参数值
    
    # cap.isOpened() 返回 true/false, 检查摄像头初始化是否成功
    
    # cap.read()
    """ 
    返回两个值
        先返回一个布尔值, 如果视频读取正确, 则为 True, 如果错误, 则为 False; 
        也可用来判断是否到视频末尾;
        
        再返回一个值, 为每一帧的图像, 该值是一个三维矩阵;
        
        通用接收方法为: 
            ret,frame = cap.read();
            ret: 布尔值;
            frame: 图像的三维矩阵;
            这样 ret 存储布尔值, frame 存储图像;
            
            若使用一个变量来接收两个值, 如:
                frame = cap.read()
            则 frame 为一个元组, 原来使用 frame 处需更改为 frame[1]
    """
    
    #cv2.waitKey(1) 读取按键,每帧数据延时 1ms, 延时为0, 读取的是静态帧
    
    #cv2.imwrite("test.jpg", img_camera)保存图像
    
    #释放摄像头 cap.release()
    #销毁窗口 cv2.destroyAllWindows()

    1、代码案例

    # coding = utf-8
    import cv2
    import os
    import shutil
    def useCamera():
        # 获取摄像头
        capture = cv2.VideoCapture(0)
        capture.set(3, 480)
        while capture.isOpened():
            # 摄像头打开,读取图像
            flag, image = capture.read()
            cv2.imshow("image", image)
            k = cv2.waitKey(1)
            if k == ord('s'):
                cv2.imwrite("test.jpg", image)
            elif k == ord("q"):
                break
        # 释放摄像头
        capture.release()
        # 关闭所有窗口
        cv2.destroyAllWindows()
    
    if __name__ == '__main__':
        useCamera()

    完毕!

  • 相关阅读:
    前后端分离后的前端时代
    解决input[type=file]打开时慢、卡顿问题
    es6快速入门
    jsonp的原理和实现
    减少前端代码耦合
    【css技能提升】css高级技巧
    vetur插件提示 'v-for' directives require 'v-bind:key' directives.错误的解决办法
    ES6的开发环境搭建
    netCore webapi Uow实现方式
    netcore webapi统一配置跨域问题
  • 原文地址:https://www.cnblogs.com/ywjfx/p/11398773.html
Copyright © 2011-2022 走看看