博客已搬家,欢迎访问新居:http://lukeyalvin.site,主要涉及SLAM相关方向,目前知识积累尚浅,多多指教!
摄像头与电脑的连接
首先,你需要获得hikvision摄像头的密码以及用户名(不知道的可以去打客服电话进行咨询),这里不做介绍;
其次,将电脑的ip设置与hikvision同频段,一般来说,海康威视的ip为192.168.1.64,电脑设置如下:
最后,使用IE浏览器(其他可能不支持),输入ip:192.168.1.64并登陆
输入用户名和密码即可获取视频画面(可以观察到,视频有畸变)
使用python+openCV获取监控画面
在使用openCV获取监控画面,具体代码如下
url格式为:“rtsp://用户名(一般默认admin):密码@网络IP(海康威视一般为:192.168.1.64)/Streaming/Channels/1”
import cv2
url = "rtsp://admin:*******@192.168.1.64/Streaming/Channels/1"
cap = cv2.VideoCapture(url)
ret, frame = cap.read()
while ret:
# 读取视频帧
ret, frame = cap.read()
# 显示视频帧
cv2.imshow("frame", frame)
#等候1ms,播放下一帧,或者按q键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
#释放视频流
cap.release()
#关闭所有窗口
cv2.destroyAllWindows()
输出画面默认是1080P的高清画面,我们可以写一个resize方法,等比例缩为720P的画面,代码实现如下:
def img_resize(image):
height, width = image.shape[0], image.shape[1]
# 设置新的图片分辨率框架 640x369 1280×720 1920×1080
width_new = 1280
height_new = 720
# 判断图片的长宽比率
if width / height >= width_new / height_new:
img_new = cv2.