python实现从本地摄像头和网络摄像头截取图片功能
Python  /  管理员 发布于 7年前   190
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)
PS:下面看下用 python , opencv 打开网络摄像头读取图像
打开网络摄像头用如下代码:
###########################################import cv2 url = 'rtsp://admin:[email protected]:554/11' cap = cv2.VideoCapture(url) while(cap.isOpened()): # Capture frame-by-frame ret, frame = cap.read() # Display the resulting frame cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything done, release the capture cap.release() cv2.destroyAllWindows() ############################################
注: 将从摄像头获取的图像从bgr转为rgb : image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
1、cap = cv2.VideoCapture(0)
VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是1,表示打开usb摄像头,
参数是视频文件路径则打开视频,如cap = cv2.VideoCapture("../test.avi")
2、ret,frame = cap.read()
cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。
3、cv2.waitKey(1),waitKey()方法本身表示等待键盘输入,
参数是1,表示延时1ms切换到下一帧图像,对于视频而言;
参数为0,如cv2.waitKey(0)只显示当前帧图像,相当于视频暂停,;
参数过大如cv2.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。
c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27,即当按esc键是if条件句成立
4、调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。
总结
以上所述是小编给大家介绍的python实现从本地摄像头和网络摄像头截取图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号