zoukankan      html  css  js  c++  java
  • OpenCV 视频抓取

    OpenCV , 摄像头视频抓取:

    电脑可能会有几个摄像头,

    注意指定摄像头: 

    capture = cv2.VideoCapture(1, cv2.CAP_DSHOW)

    另外图像抓取后,是以每一帧 frame来 显示的,
    要注意 frame 是否颠倒。
    使用 flip 函数。
    frame = cv2.flip(src,1)
    1: 水平方向 180度
    0:垂直方向 180度
    -1:水平和垂直 180度
    import cv2
    import numpy as np
    
    
    def video_demo():
        capture = cv2.VideoCapture(1, cv2.CAP_DSHOW)
        while True:
            ret, frame = capture.read()
            frame = cv2.flip(frame, 1)
            cv2.imshow("video", frame)
            c = cv2.waitKey(50)
            if c == 27:
                break
    
    
    def get_image_info(image):
        print(type(image))
        print(image.shape)
        print(image.size)
        print(image.dtype)
        pixel_data = np.array(image)
        print(pixel_data)
    
    
    print("-------------Hello Python--------------")
    src = cv2.imread(r'F:Python_AIimagesRose001.jpg')
    cv2.imshow("image", src)
    get_image_info(src)
    # video_demo()
    gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
    cv2.imwrite(r'F:Python_AIRet_Picgray.png', gray)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

     image.shape = (高度heigh,宽度width,通道数channels),宽度,高度为图片的像素。

    image.size = 高度 * 宽度 * 通道数

    image.dtype = uint8 ,8位无符号数的整数

  • 相关阅读:
    vue使用talkIngData统计
    vue项目中使用百度统计
    vue的指令修饰符
    提问:
    整理心情再投入下一个阶段
    CSS写三角形
    单行文本和多行文本超出隐藏
    清除浮动的方法
    用JS表示斐波拉契数列
    vue中使用动态挂载和懒加载,实现点击导航栏菜单弹出不同弹框
  • 原文地址:https://www.cnblogs.com/xuwenwei/p/14467831.html
Copyright © 2011-2022 走看看