概述
下面是利用opencv打开本地摄像头和本地视频(在注释中)
import cv2
cap=cv2.VideoCapture(0)#mac系统选择1 如果打开本地视频,就直接将0改为视频的地址就可以了
success=cap.isOpened()#返回的是bool类型,用于查看是否可以打开本地的视频
while success:
ret,frames=cap.read()
frame_rgb=cv2.cvtColor(frames,cv2.COLOR_BGR2RGB)#因为有些任务需要rgb形式
cv2.imshow("windom",frame_rgb)
if cv2.waitKey(10)&0xFF==ord("q"):
break
cap.release()
cv2.destroyAllWindows()
下面是利用opencv将摄像头拍摄图片保存为视频
import cv2
cap=cv2.VideoCapture(0)#mac系统选择1 如果打开本地视频,就直接将0改为视频的地址就可以了
success=cap.isOpened()#返回的是bool类型,用于查看是否可以打开本地的视频
fourcc=cv2.VideoWriter_fourcc(*"XVID")#保存视频的编码格式
out=cv2.VideoWriter("output.avi",fourcc,20.0,(640,480))#20表示频率,(640,480)表示视频的长宽
while success:
ret,frames=cap.read()
frame_rgb=cv2.cvtColor(frames,cv2.COLOR_BGR2RGB)#因为有些任务需要rgb形式 当然也可以注释这部分代码
cv2.imshow("windom",frame_rgb)
out.write(frame_rgb)
if cv2.waitKey(10)&0xFF==ord("q"):
break
cap.release()
cv2.destroyAllWindows()
下面是利用opencv来保存摄像头图片
import cv2
# 获取本地摄像头
# folder_path 截取图片的存储目录
def get_img_from_camera_local():
cap = cv2.VideoCapture(0)#0表示打开摄像头
i = 1
while True:
ret, frame = cap.read()#查看能否打开图片
cv2.imshow("capture", frame)
print (str(i))
cv2.imwrite("获取图片/{}.jpg".format(str(i)), 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__':
get_img_from_camera_local()
最后祝大家学有所成!
最后
以上就是俏皮水壶为你收集整理的利用opencv打开本地摄像头or本地视频、截取摄像头图片的全部内容,希望文章能够帮你解决利用opencv打开本地摄像头or本地视频、截取摄像头图片所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复