在上一篇博文中已经介绍了如何安装使用python下的OpenCV,在这篇文章中介绍如何使用OpenCV调用摄像头。
本节内容参考了https://www.cnblogs.com/warcraft/p/8145894.html
读取摄像头
- 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。
cap = cv2.VideoCapture(0)
- 在while循环中,利用摄像头对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。
while(1): # get a frame ret, frame = cap.read() # show a frame cv2.imshow("capture", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break
- 调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。
cap.release() cv2.destroyAllWindows()
完整代码
import cv2 import numpy as np cap = cv2.VideoCapture(0) while(1): # get a frame ret, frame = cap.read() # show a frame cv2.imshow("capture", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
对获取的图像进行初步处理
#摄像头并显示轮廓
import cv2
cap = cv2.VideoCapture(0)
i=0
while(1):
ret, frame = cap.read()
img_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
img_gb = cv2.GaussianBlur(img_gray, (5, 5), 0)
edges = cv2.Canny(img_gb, 100 , 200)
cv2.imshow("capture", edges)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
