OPENCV的GUI特性:视频入门

我们先来理解一下什么是GUI特性;一起来学习摘自百度词条的信息:

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 

图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。 

这样来说,在以往的计算机显示界面中,都是信息的展示,也就是说展示出来的界面不是像现在这样的图形化,对于创作者来说减轻了工作的负担,但却加大了使用者对其的理解。所以,为了让计算机界面更加人性化,程序员是有必要学习GUI特性。 

 点击这里查看更多内容:百度词条:GUI特性


target

        学习读取视频,显示视频和保存视频。

        学习从相机捕捉并显示它。


 

摄像头打开视频

在我平时做项目的时候常会用到摄像头,实时捕获画面,常用的就有网络摄像头,USB接口的外部摄像头,这时候需要用到一个VideoCapture对象,传入参数0,则是网络摄像头;传入参数1,则是连接外部摄像头,它的原理是逐帧捕获,每一帧都是一个图片,所以我们需要用到循环。最后要释放“俘虏”。

import numpy as np
import cv2 as cv

cap = cv.VideoCapture(0)
if not cap.isOpened():
    print("Cannot open camera")
    exit()

while True:
    # 逐帧捕获
    ret, frame = cap.read()
    # ret用来接收布尔值,成功则会得到True
    if not ret:
        print("Can't receive frame (stream end?). Exiting ...")
        break
    # 我们在框架上的操作到这里
    gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
    # 显示结果帧
    cv.imshow('frame', gray)
    if cv.waitKey(1) == 27:
        break
# 最后要释放捕获器
cap.release()
cv.destroyAllWindows()

你还可以使用cap.get(propId)方法访问该视频的某些功能,其中propId表示0-18之间的一个数字,每个数字表示视频的属性,这其中一些值可采用cap.set(propId,value)进行修改。

文件打开视频

这个与上面相同,我们将文件的路径传入当中,在显示框架时,请使用适当的时间cv.waitKey().如果太小,视频将会非常快,而如果太大,则视频将变得很慢。正常请况下25毫秒就可以了。

保存视频

这个地方,我从前没有用过,实际的情况下用的也较少,如果视频较短,我建议用QQ录屏,Ctrl+Alt+s。当然也是有方法保存的,你可以去手册中查找,由于我不是很了解这方面,我就不说了。


 ab8cd20c8d2d4af2a9294f2fd7eae175.png 

 

猜你喜欢

转载自blog.csdn.net/m0_62919535/article/details/127150252