• 吴裕雄--天生自然python学习笔记:python 用 Open CV抓取摄像头视频图像


    Open CV 除了可以读取、显示静态图片外 , 还可 以加载及播放动态影片, 以 及
    读取内置或外接摄像头的图像信息 。 很多笔记本电脑都具有摄像头 , OpenCV 可通过
    VideoC apture 方法来打开摄像头,语法为 :

    其中 , n 为整数 , 内置摄像头为 0 , 若还有其他摄像头则 依次为 1 , 2, . . . 。 例 如,
    打开内置摄像头井把摄像头变量保存至 cap 中 :

    摄像头是否处于打开状态可通过 i s Opened 方法进行判断 ,其语法为:

    若摄像头处于打开状态 ,则返回 True ; 反之则返回 False a 
    摄像头打开后,可通过 read 方法来读取摄像头图像信息 , 语法为:

    例如,读取摄像头图像,布尔值存于 ret 变量,图像存于 img 中 :

    获取用户键盘输入
    摄像头获取的图像是动态图像,如何取得特定时间的静态图像呢?通过让用户
    按下特定按键来抓取该时刻的静态图片。本章的第 1 节中我们提到过 Open CV 的
    waitKey 方法可获取用户输入,这个方法同时还可获取按键的 ASCII 码值,语法为:

    按键变量保存按键的 ASCII 码,取值范围为 0 ~ 255 。 例如: A 的 ASCII 码为
    65 下面代码设置用户在 10 秒内需按键,并把所按键的 ASCII 码返回至 key 变量:
    若用户按 A,则 key 的值为 65 。

    通过开启摄像头抓取动态图像信息
    程序执行后会自动打开摄像头,用户按下 Z 键时抓取图像井保存。
    import cv2
    
    cv2.namedWindow("frame")
    cap = cv2.VideoCapture(0)
    while(cap.isOpened()):
        ret, img = cap.read()
        if ret == True:
            cv2.imshow("frame", img)
            k = cv2.waitKey(100)
            if((k == ord("z"))or(k == ord("Z"))):
                cv2.imwrite("E:\catch.jpg", img)
                break
    cap.release()
    cv2.waitKey(0)
    cv2.destroyWindow("frame")
  • 相关阅读:
    segmentation fault(core dumped)
    (LIS LCS 例题)Max Sum Advanced Fruits Super Jumping! Jumping! Jumping!
    几种数学公式(环排列 母函数 唯一分解定理 卡特兰数 默慈金数 贝尔数 那罗延数)
    map set 详解
    算法录 之 二分和三分
    LIS 最长上升子序列 LCS 最长公共子序列 模板
    JAVA 大数据 例题
    Java 实现大数算法
    7 21 第一次团队赛——————写给队友
    离散化+unique()+二分查找
  • 原文地址:https://www.cnblogs.com/tszr/p/12032904.html
Copyright © 2020-2023  润新知