首先下载一个工具:IP摄像头(app),安卓,ios都能下载。
这里提安卓版的下载地址:http://app.mi.com/details?id=com.shenyaocn.android.WebCam
下载安装后,打开app后,点击下方的“打开IP摄像头服务器”(连上wifi,确保电脑与手机处在同一局域网内)。
然后,进行OpenCV代码调用部分:
/**
*Copyright (c) 2018 Young Fan.All Right Reserved.
*Author: Young Fan
*Date: 2018.6.23
*IDE: Visual Studio 2017
*Description: OpenCV调用摄像头,使用的工具是:IP摄像头app
*/
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture;
Mat frame;
//注意下面的连接部分,admin:123(账号密码),
//@符号之后的是局域网ip地址(打开app后,点击下方“打开IP摄像头服务器”,会有显示局域网ip)
//即:http://<USERNAME>:<PASSWORD>@<IP_ADDRESS>/<the value of src>
capture.open("http://admin:123@10.38.9.97:8081");
//循环显示每一帧
while (1)
{
capture >> frame;//读取当前每一帧画面
imshow("读取视频", frame);//显示当前帧
waitKey(30);//延时30ms
}
return 0;
}
注意:
这里使用的是局域网ip地址,当wifi连接不同路由器时,这一个IP地址会变化,要调整代码中的ip地址。
再次强调,代码中的ip地址格式为:
http://<USERNAME>:<PASSWORD>@<IP_ADDRESS>/<the value of src>
效果如下: