首页 > 编程 > Python > 正文

python opencv捕获摄像头并显示内容的实现

2019-11-25 12:25:33
字体:
来源:转载
供稿:网友

1、捕获摄像头和实时显示

import cv2import numpy as npimport pickleimport matplotlib.pyplot as plt cap = cv2.VideoCapture(0) while True:  ret,frame = cap.read()  # Our operations on the frame come here  gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  # Display the resulting frame  cv2.imshow('frame',gray)  if cv2.waitKey(1) & 0xFF == ord('q'):    break # When everything done, release the capturecap.release()cv2.destroyAllWindows() 

2、从摄像头内抓拍图片

import cv2import numpy as npimport pickleimport matplotlib.pyplot as plt cap = cv2.VideoCapture(0)index = 0while True:  ret,frame = cap.read()  # Our operations on the frame come here  gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  # Display the resulting frame  cv2.imshow('frame',gray)  if cv2.waitKey(1) & 0xFF == ord('p'):    cv2.imwrite("kk.jpg",frame)    index = index + 1  if cv2.waitKey(1) & 0xFF == ord('q'):    break # When everything done, release the capturecap.release()cv2.destroyAllWindows() 

补充:python-----从本地摄像头和网络摄像头截取图片

import cv2# 获取本地摄像头# folder_path 截取图片的存储目录def get_img_from_camera_local(folder_path):  cap = cv2.VideoCapture(0)  i = 1  while True:    ret, frame = cap.read()    cv2.imshow("capture", frame)    print str(i)    cv2.imwrite(folder_path + str(i) + '.jpg', frame) # 存储为图像    if cv2.waitKey(1) & 0xFF == ord('q'):      break    i += 1  cap.release()  cv2.destroyAllWindows()# 获取网络摄像头,格式:rtsp://username:pwd@ip/# folder_path 截取图片的存储目录def get_img_from_camera_net(folder_path):  cap = cv2.VideoCapture('rtsp://username:pwd@ip/')  i = 1  while True:    ret, frame = cap.read()    cv2.imshow("capture", frame)    print str(i)    cv2.imwrite(folder_path + str(i) + '.jpg', frame) # 存储为图像    if cv2.waitKey(1) & 0xFF == ord('q'):      break    i += 1  cap.release()  cv2.destroyAllWindows()# 测试if __name__ == '__main__':  folder_path = 'D://img_from_camera//'  get_img_from_camera_local(folder_path)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表