如果有没理解的地方,点个关注,私信我就行哈~~,看到了会及时回复
废话不多说,代码如下
import cv2 as cv
import numpy as np
from numpy.lib.type_check import imag
def video_demo():
# VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如capture = cv.VideoCapture(“../testVideo.avi”)
capture = cv.VideoCapture(0)
while True:
ret, frame = capture.read()
# 这里做了个镜面水平反转,如果想要上下颠倒,就填 -1
frame = cv.flip(frame, 1)
cv.imshow("video", frame)
c = cv.waitKey(50)
# c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27
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)
# src = cv.imread('C:\\Users\\a1625\\Desktop\\1620697720.jpg')
# cv.namedWindow("myImage", cv.WINDOW_AUTOSIZE)
# cv.imshow("myImage", src)
video_demo()
# cv.waitKey(0)
# cv.destroyAllWindows()
1、capture = cv.VideoCapture(0)
VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如cap = cv.VideoCapture(“…/testVideo.avi”)
2、ret,frame = capture.read()
capture.read()按帧读取视频,ret,frame是获capture.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。
3、cv.waitKey(1),waitKey() 方法本身表示等待键盘输入,
参数是1,表示延时1ms切换到下一帧图像,对于视频而言;
参数为0,如cv.waitKey(0)只显示当前帧图像,相当于视频暂停,;
参数过大如cv.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。
c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27,即当按esc键是if条件句成立
4、调用destroyAllWindows()关闭所有图像窗口。