刚开始拿到这个东西,完全没有使用经验,看着就很懵
后来借了一个显示屏,一套无线鼠标和键盘,将盒子通上电,接上网线
就可以看到它其实相当于一个完整的linux系统(板子是nx)
然后在这个系统内运行所写的算法
linux一般自带python,可以根据以下指令查看python的版本
python --versin
python
python3
输入以下指令安装opencv,可能会因为网速的问题下载失败
pip3 install opencv-python
可以切换成镜像源下载,输入以下指令
pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
我在下载过程中,遇到一个问题:一直卡在building
开始是发现没有安装cython,但是还是不成功
后来的解决方案是:下载nx版的.whl文件,手动放置在python3的库中,bingo!
python3
import cv2
cv2.__version__
参考链接:Python调用海康威视网络相机之——python读取相机rtsp码流显示画面
参考链接:Python拉取海康摄像头rtsp流-小白适用
海康IPcamera rtsp地址和格式:
rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
说明:
username: 用户名。例如admin。
password: 密码。例如12345。
ip: 为设备IP。例如 192.0.0.64。
port: 端口号默认为554,若为默认可不填写。
codec:有h264、MPEG-4、mpeg4这几种。
channel: 通道号,起始为1。例如通道1,则为ch1。
subtype: 码流类型,主码流为main,辅码流为sub。
通过修改ip地址、用户名、密码三处,拉取媒体流。
import cv2
ip='192.168.2.111'
user='admin'
password='123456'
cap = cv2.VideoCapture("rtsp://"+ user +":"+ password +"@" + ip + ":554/h264/ch1/main/av_stream")
ret, frame = cap.read()
cv2.namedWindow(ip,0)
cv2.resizeWindow(ip,500,300)
while ret:
ret, frame = cap.read()
cv2.imshow(ip,frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
cap.release()
调取摄像头数据后,通过算法实现检测
略
通过算法对rtsp拉流的视频流进行检测,将报警信号输出到服务器
这里为了检测报警输出是否成功
通过fpt搭建一个虚拟服务器
见下一篇