网站无法收录天津seo排名扣费
工具库
python3.6
opencv-python
pip install opencv-python
import cv2
cap = cv2.VideoCapture(0) #打开摄像头cap.release()#阻塞1毫秒,等待键盘输入,若无输入则返回-1
#有键盘输入,则返回键盘ASCII码对应的十进制数
cv2.waitKey(1)
拍照片
按space 键,拍照
按q键退出
import cv2
import time
import osdef make_photo(n=None):"""n:连续拍照n张"""#打开摄像头cap = cv2.VideoCapture(0)if n is None:#默认拍一张照片#空格键,拍照#q键 退出while True:#捕获一帧的数据ret, frame = cap.read()if ret:#默认不阻塞cv2.imshow("picture", frame) #阻塞等待输入按键, 返回按键对应的十进制#key = cv2.waitKey()# print("key:", key, chr(key))while True:key = cv2.waitKey()#q键退出,不拍照if key == 113:breakelif key == 32:#数据帧写入图片中label = 1while os.path.exists("%d.png"%label):label += 1cv2.imwrite("%d.png"%label, frame)continuebreakelse:#n连拍count = 0while count < n:ret, frame = cap.read()if ret:cv2.imshow("picture", frame)time.sleep(1.5)cv2.imwrite("%d.png"%count, frame)count += 1#释放摄像头cap.release()cv2.destroyAllWindows()if __name__ == "__main__":make_photo(5)
拍视频
def make_video():"""使用opencv录像"""# 默认的摄像头cap = cv2.VideoCapture(0) # 指定视频代码fourcc = cv2.VideoWriter_fourcc(*"DIVX")writer = cv2.VideoWriter('video.avi', fourcc, 20.0, (640, 480))while cap.isOpened():ret, frame = cap.read()if ret:writer.write(frame)#cv2.imshow('frame', frame)# 等待按键q操作关闭摄像头if cv2.waitKey(1)&0xff == 113:breakelse:breakcap.release()writer.release()cv2.destroyAllWindows()