python实现从本地摄像头和网络摄像头截取图片功能

  

python - - - - - -从本地摄像头和网络摄像头截取图片,具体代码如下所示:

        进口cv2   #获取本地摄像头   # folder_path截取图片的存储目录   def get_img_from_camera_local (folder_path):   帽=cv2.VideoCapture (0)   i=1   而真正的:   ret,?cap.read ()   cv2。imshow(“捕获”,帧)   打印str(我)   cv2。imwrite (folder_path + str(我)+ jpg,帧)#存储为图像   如果cv2.waitKey (1),0 xff==奥德(问):   打破   我+=1   cap.release ()   cv2.destroyAllWindows ()   #获取网络摄像头,格式:rtsp://用户名:pwd@ip/# folder_path截取图片的存储目录   def get_img_from_camera_net (folder_path):   帽=cv2.VideoCapture (rtsp://用户名:pwd@ip/?   i=1   而真正的:   ret,?cap.read ()   cv2。imshow(“捕获”,帧)   打印str(我)   cv2。imwrite (folder_path + str(我)+ jpg,帧)#存储为图像   如果cv2.waitKey (1),0 xff==奥德(问):   打破   我+=1   cap.release ()   cv2.destroyAllWindows ()   #测试   if __name__==癬_main__”:   folder_path=' D: \ \ img_from_camera \ \ '   get_img_from_camera_local (folder_path)      

  

打开网络摄像头用如下代码:
  

        ###########################################   进口cv2   url=' rtsp://admin: password@192.168.1.104:554/11   帽=cv2.VideoCapture (url)   而(cap.isOpened ()):   #获取一帧   ret,?cap.read ()   #显示生成的框架   cv2.imshow(帧,帧)   如果cv2.waitKey (1),0 xff==奥德(问):   打破   #当一切完成,释放捕获   cap.release ()   cv2.destroyAllWindows ()   # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #      

  

1,帽=cv2.VideoCapture (0)

  

VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是1,表示打开usb摄像头,

  

参数是视频文件路径则打开视频,如帽=cv2.VideoCapture (“. ./test.avi”)

  

2 ret?cap.read ()

  

, cap.read()按帧读取视频,ret,帧是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回真,如果文件读取到结尾,它的返回值就为False.frame就是每一帧的图像,是个三维矩阵。

  

3, cv2.waitKey (1) waitKey()方法本身表示等待键盘输入,

  

参数是1,表示延时1 ms切换到下一帧图像,对于视频而言,

  

参数为0,如cv2.waitKey(0)只显示当前帧图像,相当于视频暂停,,

  

参数过大如cv2.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。

  

c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27日,即当按esc键是如果条件句成立

  

4,调用释放()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。
  

  

  

以上所述是小编给大家介绍的python实现从本地摄像头和网络摄像头截取图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
  如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

python实现从本地摄像头和网络摄像头截取图片功能