import numpy as np
import cv2
#0代表从摄像头获取图像数据,如果从本地获取可以写路径
cap = cv2.VideoCapture(0)
while(True):
# ret表示读取成功True或失败False
#frame表示读取到的图像的内容
#总的意思是读取一帧数据
ret,frame = cap.read()
#灰度图
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
#waitKey功能就是不断地刷新图像,单位ms,返回值是当前键盘按键值
#ord返回对应的ASCII数值
#这里的意思是会不断监测键盘输入,键按q时退出循环
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
运行结束会出现灰度化了的视频,但你是关不掉的,因为需要按q来退出
#0代表从摄像头获取图像数据,如果从本地获取可以写路径
cap = cv2.VideoCapture('./shipin.mp4')
#视频每秒传输帧数
fps = cap.get(cv2.CAP_PROP_FPS)
#视频图像的宽度
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
#视频图像的长度
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps)
print(frame_width,frame_height)
while(True):
# ret表示读取成功True或失败False
#frame表示读取到的图像的内容
#总的意思是读取一帧数据
ret,frame = cap.read()
if ret!=True:
break
cv2.imshow('frame',frame)
#waitKey功能就是不断地刷新图像,单位ms,返回值是当前键盘按键值
#ord返回对应的ASCII数值
#这里的意思是会不断监测键盘输入,键按q时退出循环
if cv2.waitKey(25) & 0xff == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
#可以给waitKey赋予一个合适的值让视频播放时间正常
#除了视频播放完毕之后会退出外,在视频播放过程中按q也会退出
#0代表从摄像头获取图像数据,如果从本地获取可以写路径
cap = cv2.VideoCapture('./shipin.mp4')
#视频每秒传输帧数
fps = cap.get(cv2.CAP_PROP_FPS)
#视频图像的宽度
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
#视频图像的长度
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps)
print(frame_width,frame_height)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('./shipin2.mp4',fourcc,fps,(frame_width,frame_height))
#我们让输出是原来的长宽,帧数
while(True):
ret,frame = cap.read()
if ret==True:
#水平翻转
frame = cv2.flip(frame,1)
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(25) & 0xff == ord('q'):
break
else:
break
out.release()
cap.release()
cv2.destroyAllWindows()