El funcionamiento detallado de la cámara OpenCV

Abrir la cámara y capturar fotos

Para usar la cámara, es necesario utilizar cv2.VideoCapture (0) crear el objeto VideoCapture parámetro 0 se refiere al número de la cámara, si hay dos cámaras, a continuación, en el equipo, visite la segunda cámara puede ser pasada 1, y así sucesivamente.

# 打开摄像头并灰度化显示
import cv2 as cv 
# 0表示摄像头的编号
capture = cv.VideoCapture(0)

while(True):
    # 获取一帧
    # 第1个参数ret(return value缩写)是一个布尔值,表示当前这一帧是否获取正确
    ret, frame = capture.read()
    # 将这帧转换为灰度图
    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

    cv.imshow('frame', gray)
    if cv.waitKey(1) == ord('q'):
        break

La imagen capturada de la cámara:
La imagen capturada de la cámara

Obtener y modificar los valores de los atributos de la cámara

Algunos atributos pueden ser adquiridas por la cámara capture.get (PropID), tales como la resolución de captura, brillo y contraste. PropID es un número de 0 a 18, representando las diferentes propiedades. Para modificar los valores de los atributos de la cámara se puede utilizar capture.set (PropID, valor). Por ejemplo, añadimos el siguiente código antes de que el tiempo, que puede capturar con respecto a lo anterior dos veces la resolución del vídeo.

# 获取捕获的分辨率
# propId可以直接写数字,也可以用OpenCV的符号表示
width, height = capture.get(3), capture.get(4)
print(width, height)

# 以原分辨率的一倍来捕获
capture.set(cv.CAP_PROP_FRAME_WIDTH, width * 2)
capture.set(cv.CAP_PROP_FRAME_HEIGHT, height * 2)

2 veces la resolución de la imagen capturada a la original:
2 veces la resolución de la imagen capturada a la original

reproducción de vídeo local

Como encender la cámara, si el número de cámaras de vídeo en el camino que puede reproducir vídeos locales. Recall cv.waitKey (), que parámetro indica el tiempo de pausa, por lo que cuanto mayor sea el valor, más lenta es la velocidad de reproducción de vídeo, por el contrario, la velocidad de reproducción más rápido se fija generalmente a 25 o 30.

# opencv播放本地视频
import cv2 as cv

capture = cv.VideoCapture('E:/1.mp4')

while(capture.isOpened()):
    ret, frame = capture.read()
    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

    cv.imshow('frame', gray)
    if cv.waitKey(30) == ord('q'):
        break

Juega en E: /1.mp4:
desempeñar con éxito el vídeo

vídeos grabar y guardar

Antes de que guarda una fotografía usando un cv.imwrite (), para guardar el video, tenemos que crear un objeto de una VideoWriter, tiene que pasar cuatro parámetros:
el nombre del archivo de salida 1. tales como 'output.avi'
2. codificación código FourCC Realización
3. velocidad de fotogramas del FPS
4. para guardar el tamaño de resolución
FourCC codificación de vídeo se utiliza para especificar los códigos de cuatro bytes. Como codificación MJPG puede escribirse: cv.VideoWriter_fourcc (* 'MJPG') o cv.VideoWriter_fourcc ( 'M', 'J ', 'P', 'G')

import cv2 as cv

capture = cv.VideoCapture(0)

# 定义编码方式并创建VideoWriter对象
fourcc = cv.VideoWriter_fourcc(*'MJPG')
outfile = cv.VideoWriter('output.avi', fourcc, 25., (640, 480))

while(capture.isOpened()):
    ret, frame = capture.read()

    if ret:
        outfile.write(frame)  # 写入文件
        cv.imshow('frame', frame)
        if cv.waitKey(1) == ord('q'):
            break
    else:
        break

Output.avi consiguió su deseo de convertirse en hincha en la ruta actual:
Su deseo se genera output.avi
han visto aquí, no apunte un elogio, usted (.jpg feliz) gracias

Supongo que te gusta

Origin www.cnblogs.com/wojianxin/p/12585417.html
Recomendado
Clasificación