直接上代码:
# -*- coding: utf-8 -*-
# !/usr/bin/env python
# @Time : 2019/1/22 9:53
# @Author : xhh
# @Desc : 测试摄像头是否连接成功
# @File : camera_use.py
# @Software: PyCharm
import cv2
url = "rtsp://admin:KULIAO@123@XXX.xx.xx.xx:554"
cap = cv2.VideoCapture(url)
# 设置视频参数: propId - 设置的视频参数, value - 设置的参数值
cap.set(3, 480)
print(cap.isOpened())
"""
返回两个值
先返回一个布尔值, 如果视频读取正确, 则为 True, 如果错误, 则为 False;
也可用来判断是否到视频末尾;
再返回一个值, 为每一帧的图像, 该值是一个三维矩阵;
通用接收方法为:
ret,frame = cap.read();
ret: 布尔值;
frame: 图像的三维矩阵;
这样 ret 存储布尔值, frame 存储图像;
若使用一个变量来接收两个值, 如:
frame = cap.read()
则 frame 为一个元组, 原来使用 frame 处需更改为 frame[1]
"""
while cap.isOpened():
ret_flag, img_camera = cap.read()
cv2.imshow("camera", img_camera)
# 每帧数据延时 1ms, 延时为0, 读取的是静态帧
k = cv2.waitKey(1)
# 按下 's' 保存截图
if k == ord('s'):
cv2.imwrite("test.jpg", img_camera)
# 按下 'q' 退出
if k == ord('q'):
break
# 释放所有摄像头
cap.release()
# 删除建立的所有窗口
cv2.destroyAllWindows()
上面的url可以换成你自己的IP