如何使用OpenCV打开未知网络摄像头
这几天在研究艾睿光电的红外热成像机芯,IRay有自带的SDK,但是一时半会很难搞懂,我尝试自己通过OpenCV打开然后自己做图像处理相关的算法。
这里以艾睿摄像头为例,需要下载ONVIF Device Test Tool这个工具:
在打开摄像头之前,确保网线未损坏,打开ONVIF Device Test Tool
选择需要的网络连接IP地址
点击Discover Devices 发现分配的IP地址
点击Check查询Scopes,
接着点击Debug,然后一路Get,
最后Transport选择RTP/RTSP/TCP接着playvideo,
能打开之后在右边编辑栏里面找到uri,
譬如 <tt:Uri>rtsp://192.168.1.29:554/stream0</tt:Uri>复制uri里面的字符串。
1.首先在C++里面OpenCV需要创建一个VideoCapture对象。
2.利用OpenCV创建一个Mat矩阵对象frame用来存放读入的帧数据。
3.将数据read到frame里面。
4.这里用死循环简单测试。
void main()
{
VideoCapture vidcap;
String rtsp = "rtsp://192.168.1.29:554/stream0";
vidcap.open(rtsp);
Mat frame;
while (true)
{
vidcap.read(frame);
Mat dst = frame.clone();
imshow("Camera", dst);
waitKey(20);
}
}