总结两种使用OpenCv连接海康相机播放视频画面方法

简介: 总结两种使用OpenCv连接海康相机播放视频画面方法

前言


  工程上海康相机占据龙头老大位置,大多数工程中采用的是海康相机只有少部分是大华相机,因此在处理CV任务的时候很难避免与海康相机对接使用。


  在这里我将选择以海康相机为例,讲解一下使用OpenCv连接海康相机获取视频画面。




情况一:项目和相机在同一网段


   这种情况属于工程上的理想状态了,这个时候只要路由器和交换机不出问题(当然出问题了就喊运维人员前来处理了),使用OpenCv就可以很块的连接上相机了。


  我们可以上海康官网或直接搜索海康RTSP格式(RTSP格式如下,大家可以自行搜索各部份的解释),我们需要从数据库中获取对应相机的:账号密码IP 然后即可组成海康设备的RTSP,使用OpenCv直接读取

rtsp = "rtsp://%s:%s@%s:554/cam/realmonitor?channel=1&subtype=1" % (username, password, ip)
cap = cv2.VideoCapture(rtsp)


情况二:项目和相机不在同一网段


   这种情况属于工程上的大多数状态了,这个时候往往是会有海康的接口进行获取RTSP,然后用OpenCv连接Rtsp。使用RTSP连接的话存在一下几种常见的意外情况:


  1. 相机端掉线(施工把线挖断了、欠网费了等)


  1. 本地网络断线(同上)


  1. RTSP本身传输协议存在的一些不完美的地方


  1. 可以连接上但是无法播放等原因


  1. 掉帧和花屏原因(不排除海康那边做的不够好)


   我们可以获取到相机的indexcode (和海康人员协商索要),通过发送POST或Get请求得到RTSP,得到返回值中解析出RTS



   通过接口传送相机indexcode获取此相机的RTSP并通过OpenCv连接示例如下:    RTSP示例: rtsp://192.168.1.100:554/openUrl/MEyN5m0

VideoCap = cv2.VideoCapture(RTSP)
ret, frame = VideoCap.read()



写在后面


  

   在海康官网上有连接海康相机的SDK开发工具,也有python、Jave、C#和C++版本 ,大家可以自行对接海康SDK进行连接相机(SDK较为鸡肋)

作者:小小杨树


相关文章
|
3月前
|
计算机视觉 索引
OpenCV4学习笔记(2):显示相机视频流的帧率
这篇文章是OpenCV4学习笔记的第二部分,介绍了如何通过OpenCV4在显示相机视频流时计算并显示其帧率,使用`getTickCount`和`getTickFrequency`函数来测量帧时间,并用`putText`在图像上绘制帧率信息。
OpenCV4学习笔记(2):显示相机视频流的帧率
|
19天前
|
编解码 数据安全/隐私保护 计算机视觉
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
如何使用OpenCV进行同步和异步操作来打开海康摄像头,并提供了相关的代码示例。
55 1
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
|
3月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
|
3月前
|
存储 编解码 API
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
190 1
|
3月前
|
算法 定位技术 vr&ar
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
375 0
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
|
4月前
|
机器学习/深度学习 传感器 算法
OpenCV4工业缺陷检测的六种方法
OpenCV4工业缺陷检测的六种方法
|
4月前
|
算法 计算机视觉 索引
python---OpenCv(二),背景分离方法较有意思
python---OpenCv(二),背景分离方法较有意思
|
4月前
|
计算机视觉 Python
opencv 处理图像去噪的几种方法学习
OpenCV 提供了多种图像去噪的方法,以下是一些常见的去噪技术以及相应的 Python 代码示例: 均值滤波:使用像素邻域的灰度均值代替该像素的值。
58 0
|
5月前
|
算法 计算机视觉
如何判断点在多边形内部:OpenCV--cv2.pointPolygonTest()方法详解
如何判断点在多边形内部:OpenCV--cv2.pointPolygonTest()方法详解
|
6月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
OpenCV读取tensorflow 2.X模型的方法:将SavedModel转为frozen graph
【2月更文挑战第22天】本文介绍基于Python的tensorflow库,将tensorflow与keras训练好的SavedModel格式神经网络模型转换为frozen graph格式,从而可以用OpenCV库在C++等其他语言中将其打开的方法~
141 1
OpenCV读取tensorflow 2.X模型的方法:将SavedModel转为frozen graph