AIR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#-*- coding:utf-8 -*-

import numpy as np
import cv2 as cv

#创建一个VideoCapture对象用于捕获视频,参数:设备索引或视频文件的名称
cap=cv.VideoCapture(0) #0:调用电脑内置摄像头

#定义编解码器并创建VideoWriter对象
fourcc=cv.VideoWriter_fourcc(*"DIVX") #定义编码器(windows适用),可以("D","I","V","X")传输,也可以(*"DIVX")
# <VideoWriter object> = cv.VideoWriter( filename, fourcc, fps, frameSize[, isColor]
# filename 输出视频文件的名称。
# fourcc 用于压缩帧的4字符编解码器
# fps 创建的视频流的帧率。越大,保存的视频播放的越快,反之越慢。
# frameSize 视频帧的大小。
# isColor 如果它不为零,则编码器将期望并编码彩色帧,否则它将与灰度帧一起使用(该标志目前仅在Windows上受支持),默认值为True
out=cv.VideoWriter("output.avi",fourcc,50.0,(640,480),0) #True OR False 要与图像每一帧翻转时相对应,翻转灰度图用0,翻转彩图用1或者不填,默认为1
'''out=cv.VideoWriter("output.avi",fourcc,50.0,(640,480))'''#录制彩色视频
while cap.isOpened():
ret,frame=cap.read()
if not ret:
print("Cannot receive frame (stream end?).Exiting...")
break
frame=cv.flip(frame,1)#0图像是倒的,1图像是正的,0时图像原点为左上角,1时图像原点为左下角
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) # 将图像从一个颜色空间转换为另一个颜色空间,彩色转灰度
#写下翻转的帧
out.write(gray)
'''out.write(frame)'''
cv.imshow("frame",frame) #frame显示原来彩图,gray显示变换后的灰度图
if cv.waitKey(1)==ord("q"): #播放视频时,cv.waitKey()括号里的参数控制播放速度,0不播放;录制视频时,cv.waitKey()里的参数越大,捕获视频越慢
break
#释放所有内容
cap.release()
out.release()
cv.destroyAllWindows()

 Comments


Blog content follows the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License

Use Material X as theme , total visits times .
载入天数...载入时分秒...