先得安装这个opcv的库 注意选择的Python解释器 我这里还有一个解释器,是thonny的IDE的 装好以后可以看看版本 会发现是可以自动补全的 我们可以在本地的时候放一个图片,读取一下 import cv2 import numpy as np 首先导入我们要用的库 cap = cv2.VideoCapture(0) 接着创建一个使用的物理端口 cap= cv2.VideoCapture(0) 这一句表示调用计算机内置摄像头来获取视频,如果传入参数为1时,表示调用计算机外置摄像头,比如usb连接的摄像头等。VideoCapture对象也可以传入视频文件地址。 while(1): # get a frame ret, frame = cap.read() # show a frame cv2.imshow("capture", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break 这段是写一个死循环,不停的从物理的接口接收某帧,并显示(imshow),然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。 ret, frame = cap.read() 这里使用一个循环表示持续获取摄像头数据,VideoCapture对象的read()方法返回两个值。 第一个值一般为ret,它是一个布尔值,表示是否获取到了图像数据,如果获取成功返回True,获取失败返回False,这一句后可以判断ret是否为True,如果为True则向下执行,False则执行相应的操作,这样可以使得我们的应用程序更加健壮。它还有一个功能就是验证获取到的视频是否到达结尾部分。 第二个值表示获取到的一帧的图像数据。下一步我们将这个图像数据直接转化为灰度图像进行了处理。 cap.release() cv2.destroyAllWindows() 接着释放物理的摄像头,使用函数关闭所有的窗口。 这里就演示一张照片喽 也可以这样来执行代码 PS C:\Users\yunswj\Desktop\Python学习程序> python.exe .\opencv.py [ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-0ycehs0d\ opencv \modules \videoio\ src\cap_msmf.cpp (434) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback 以上代码是q执行的中断代码 https://www.fourcc.org/codecs.php
|
|