python利用OpenCV调用海康威视摄像头--利用wifi路由器提供网

部署环境

在这里插入图片描述

由于实验室只有无线网没有有线网,在这里依靠wifi路由器做出一个有线网。
wifi路由器根据wifi配置有线网

ip 192.168.113.17
掩码 255.255.255.0
网关192.168.113.254
DNS 8.8.8.8

在这里是网络已经可以联通。
此时摄像头默认的ip地址是192.168.1.64,我自己将其该为192.168.114.64,这里其实可以不改
在这里插入图片描述
修改本地网口ip使其在一个网段,但不要用64
在这里插入图片描述
此时上面为wifi路由器提供的网,下面为摄像头的网,如果把wifi路由器网关闭,处于断网状态,运行下方代码
在这里插入图片描述

运行代码

import cv2
import time
import numpy as np

user, pwd, ip, channel = "admin", "passward", "192.168.114.64", 1

video_stream_path = "rtsp://%s:%s@%s//Streaming/Channels/%d" % (user, pwd, ip, channel)  # HIKIVISION new version 2017
video = cv2.VideoCapture(video_stream_path)
l_used_time = []
fps = 0
while True:
    s = time.time()
    ret, frame = video.read()
    # print(ret)
    # image = cv2.resize(frame, (416, 416))
    # image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    # cv2.imshow("results", image)
    cv2.putText(frame, text='FPS: {}'.format(fps), org=(3, 15), fontFace=cv2.FONT_HERSHEY_SIMPLEX,
                fontScale=0.50, color=(255, 0, 0), thickness=2)
    cv2.imshow("results", frame)
    cv2.waitKey(5)
    used_time = time.time() - s
    l_used_time.append(used_time)
    if len(l_used_time) > 10:
        l_used_time.pop(0)
    fps = int(1 / np.mean(l_used_time))

在这里插入图片描述可以跑通,但网线连上后就不能正常运行,这是由于连上路由器后会从路由器搜寻局域网内的ip而不是本地的。
如果要想联网还可以运行,可以把网线接入wifi路由器,此时要修改摄像头ip地址与路由器一个网段。
在这里插入图片描述

import cv2
import time
import numpy as np

user, pwd, ip, channel = "admin", "passward", "192.168.113.64", 1

video_stream_path = "rtsp://%s:%s@%s//Streaming/Channels/%d" % (user, pwd, ip, channel)  # HIKIVISION new version 2017
video = cv2.VideoCapture(video_stream_path)
l_used_time = []
fps = 0
while True:
    s = time.time()
    ret, frame = video.read()
    # print(ret)
    # image = cv2.resize(frame, (416, 416))
    # image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    # cv2.imshow("results", image)
    cv2.putText(frame, text='FPS: {}'.format(fps), org=(3, 15), fontFace=cv2.FONT_HERSHEY_SIMPLEX,
                fontScale=0.50, color=(255, 0, 0), thickness=2)
    cv2.imshow("results", frame)
    cv2.waitKey(5)
    used_time = time.time() - s
    l_used_time.append(used_time)
    if len(l_used_time) > 10:
        l_used_time.pop(0)
    fps = int(1 / np.mean(l_used_time))
  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值