2753浏览
查看: 2753|回复: 0

[平台测评] 【天天向上】OpenVINO学习笔记(十一)网络摄像头使用

[复制链接]
【学习任务一】获取网络摄像机rtsp地址
【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图4

1、查看配置的光盘文档,没有发现。
【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图1

【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图2

【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图3

用户手册中只提及rtsp端口号:554,失败
2、浏览器访问摄像机配置

【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图12


看到同上内容,失败
此时,创客无畏的探索精神被点燃,失败次数越多,冲劲就越足。
3、通过ONVIF Device Test Tool获取RTSP地址及播放视频


通过以上教程进行操作,之前几步操作没有问题,能够获取硬件信息。

【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图5

但到获取rtsp地址,无法正常进行。

【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图6

失败
4、使用ONVIF Device Manage工具
将摄像机ONVIF登陆校验“关闭”后,可继续进行,但到加载“NVT”时,软件出现闪退现象。
【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图7
失败

5、依靠网络查找,遍寻不到。
https://jingyan.baidu.com/article/295430f19b01bf0c7e0050d2.html
英飞拓、大华、海康品牌的网络摄像机rtsp地址,并未找到Hisome。
失败

6、利用VLC media player播放器,一个个去利用网络找到的大品牌的网络摄像机rtsp地址。

【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图8



成功
【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图10


【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图9

【学习任务二】利用Python程序测试网络摄像机rtsp地址
Python代码:
  1. import cv2,time
  2. classfier=cv2.CascadeClassifier("D:\\xml\\haarcascade_frontalface_alt2.xml")#定义分类器
  3. max_x=0
  4. max_y=0
  5. max_h=0
  6. max_w=0
  7. max=0
  8. color = (255,0,155)#设置人脸框的颜色
  9. #url = 'rtsp://admin:a12345678@172.20.0.81:554/1'#办公室
  10. url = 'rtsp://admin:111111@172.16.104.220:554/cam/realmonitor?channel=1&subtype=1'
  11. cap = cv2.VideoCapture(url)
  12. path_name="./img"
  13. i=0
  14. while(cap.isOpened()):
  15.   # Capture frame-by-frame
  16.   ret, frame = cap.read()
  17.   # Display the resulting frame
  18.   try:
  19.    image=cv2.resize(frame, (800,600), interpolation=cv2.INTER_AREA)
  20.    if i>15:
  21.     i=0
  22.     image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#将当前桢图像转换成灰度图像(这里有修改)
  23.     #如下三行是设定最小图像的大小
  24.     #第三个参数表示每一个目标至少要被检测到3次才算是真的目标(因为周围的像素和不同的窗口大小都可以检测到人脸),
  25.     faceRects = classfier.detectMultiScale(image, 1.3,5, cv2.CASCADE_SCALE_IMAGE,(8,8))#人脸检测
  26.     print(len(faceRects))
  27.     max=0
  28.     if len(faceRects)>0:#如果人脸数组长度大于0
  29.         for faceRect in faceRects: #对每一个人脸画矩形框
  30.                 x, y, w, h = faceRect
  31.                 if w*h>max :
  32.                    max=w*h
  33.                    max_x=x
  34.                    max_y=y
  35.                    max_h=h
  36.                    max_w=w
  37.         now = time.localtime()
  38.         img_name = r"%s/%s.jpg" % (path_name, time.strftime("%Y-%m-%d %H:%M:%S",now).replace(":","-") )
  39.         
  40.         print(img_name)
  41.          
  42.         image1 = image[max_y-10 : max_y + max_h + 10, max_x - 10: max_x + max_w + 10]
  43.         cv2.imwrite(img_name, image1,[int(cv2.IMWRITE_PNG_COMPRESSION), 9])
  44.          
  45.         
  46.         cv2.rectangle(image, (max_x, max_y), (max_x+max_w, max_y+max_h), color,2)#矩形的两个点(左上角与右下角),颜色,线的类型(不设置就
  47.    else:
  48.       print(i)
  49.       i=i+1
  50.    cv2.imshow('frame',image)
  51.   except:
  52.     print("False")
  53.     cap = cv2.VideoCapture(url)
  54.   if cv2.waitKey(1) & 0xFF == ord('q'):
  55.       break
  56. # When everything done, release the capture
  57. cap.release()
  58. cv2.destroyAllWindows()
复制代码

因角度、远近及使用分类器的原因,识别学生时,两分钟内只识别到两个人脸。
【天天向上】OpenVINO学习笔记(十一)网络摄像头使用图11
人脸在摄像头前,识别效果还可以。但当人脸侧向一边时,识别效果差。
演示视频:

【学习任务三】OpenVINO加速推理
修改face_recognition_demo.py

  1. @staticmethod
  2.     def open_input_stream(path):
  3.         log.info("Reading input data from '%s'" % (path))
  4.         stream = path
  5.         """try:
  6.             stream = int(path)
  7.         except ValueError:
  8.             pass"""
  9.         
  10.         return cv2.VideoCapture('rtsp://admin:111111@172.16.104.220:554/cam/realmonitor?channel=1&subtype=1')
复制代码

运行命令:
python face_recognition_demo.py -m_fd C:/Users/zlzx/Documents/Intel/intel/face-detection-adas-0001/FP16-INT8/face-detection-adas-0001.xml -m_reid C:/Users/zlzx/Documents/Intel/intel/face-reidentification-retail-0095/FP16-INT8/face-reidentification-retail-0095.xml -m_lm C:/Users/zlzx/Documents/Intel/intel/landmarks-regression-retail-0009/FP16/landmarks-regression-retail-0009.xml -fg C:/Users/zlzx/Documents/Intel/OpenVINO/omz_demos_build/intel64/Release/classroom -i rtsp://admin:111111@172.16.104.220:554/cam/realmonitor?channel=1
演示视频:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail