IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Python调用USB连接的海康威视HikVision摄像头DS-E14a

    52txr发表于 2024-06-09 15:58:00
    love 0

    海康威视DS-E14a其实就是一个简单的外设相机,也没啥加密保护,使用opencv调用非常简单。下面是一个示例代码。

    # coding:utf-8
    import cv2
    cap = cv2.VideoCapture(1, cv2.CAP_DSHOW)
    flag = cap.isOpened()
    index = 1
    while (flag):
        ret, frame = cap.read()
        cv2.imshow("Capture_Paizhao", frame)
        k = cv2.waitKey(1) & 0xFF
        if k == ord('s'):  # 按下s键,进入下面的保存图片操作
            cv2.imwrite("E:/" + str(index) + ".jpg", frame)
            print("save" + str(index) + ".jpg successfuly!")
            print("-------------------------")
            index += 1
        elif k == ord('q'):  # 按下q键,程序退出
            break
    cap.release() # 释放摄像头
    cv2.destroyAllWindows()# 释放并销毁窗口

    通过cv2.VideoCapture(1, cv2.CAP_DSHOW)创建一个VideoCapture对象,用于捕获摄像头的视频流。

    尝试从系统中的第1个摄像头(索引为1,索引0通常是默认的内置摄像头)获取视频流。cv2.CAP_DSHOW 参数是针对Windows系统的优化,用来直接显示视频,减少延迟。

    flag = cap.isOpened() 检查摄像头是否成功打开,如果成功则flag为True。然后进入一个无限循环,直到满足退出条件。

    ret, frame = cap.read() 从摄像头读取一帧视频。ret是一个布尔值,表示是否成功读取到帧;frame是实际的视频帧数据。

    cv2.imshow("Capture_Paizhao", frame) 显示当前帧到名为"Capture_Paizhao"的窗口。

    k = cv2.waitKey(1) & 0xFF 等待1毫秒看是否有键盘输入,& 0xFF是为了确保得到的是8位的ASCII值。

    运行效果



沪ICP备19023445号-2号
友情链接