Opencv的视频窗口调整

  1. cv2.VideoCapture(0) #构建视频抓捕器

参数说明:0表示需要启动的摄像头,这里也可以写视频的路径

  1. cv2.namedWindow(name, cv2.WINDOW_NORMAL) # 构建视频的窗口

参数说明: 表示窗口的名字, cv2.WINDOW_NORMAL表示窗口的大小,这里窗口的大小是正常,
namedWindow函数的作用是通过指定的名字,创建一个可以作为图像和进度条的容器窗口。如果具有相同名称的窗口已经存在,则函数不做任何事情。

3.cv2.setWindowProperty(name, cv2.WND_PROP_FULLSCREEN, cv2.WND_PROP_FULLSCREEN)

参数说明: name表示需要更改像素的窗口名字, cv2.WND_PROP_FULLSCREEN表示全屏
cv2.WINDOW_NORMAL # 用户可以改变这个窗口大小
cv2.WINDOW_AUTOSIZE # 窗口大小自动适应图片大小,并且不可手动更改。
cv2.WINDOW_FREERATIO # 自适应比例
cv2.WINDOW_KEEPRATIO # 保持比例
cv2.WINDOW_OPENGL # 窗口创建的时候会支持OpenGL

  1. video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) 对窗口像素进行设置

参数说明: cv2.CAP_PROP_FRAME_WIDTH 表示设置其宽的大小, 1920表示设置的像素

实例

video_capture = cv2.VideoCapture(0)
cv2.namedWindow("frame", cv2.WINDOW_NORMAL)
cv2.setWindowProperty("frame", cv2.WND_PROP_FULLSCREEN, cv2.WND_PROP_FULLSCREEN)
video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
while True:
    ret, frame = video_capture.read()
    (h, w) = frame.shape[:2]
    print(h, w)
    center = (w/2, h/2)
    print()
    M = cv2.getRotationMatrix2D(center, 90, 1.0)
    rotated = cv2.warpAffine(frame, M, (1920, 1080))
    cv2.imshow('image', rotated)
    cv2.imwrite('2.png', rotated)
    cv2.waitKey(0)

猜你喜欢

转载自blog.csdn.net/guifeng93/article/details/129255236