使用opencv打开手机摄像头,这里指的是电脑端写的opencv软件读取手机摄像头图像。
其主要原理是在手机端打开一个端口,打开、读取手机摄像头,然后通过ip-端口号实现远程摄像头图像读取,其实就是让手机作为服务器端,电脑写的opencv软件作为客户端,客户端通过ip-端口号连接服务器端读取图像而已。
步骤如下:
1、手机安装ip摄像头软件,
软件使用小米的,连接如下:http://app.mi.com/details?id=com.shenyaocn.android.WebCam
(这个是安卓手机版本的apk,不知道有没有开发ios版本,不过肯定有类似软件。)
2、手机连接wifi。
因为需要和你的电脑ip通讯,所以要求属于同一个局域网,当然此软件也可以远程的。
3、用opencv库编写自己的软件,代码如下:
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture;
Mat frame;
//注意下面的连接部分,admin:admin(账号密码打开软件后会提示,也可以设置),
//@符号之后的是局域网ip地址(打开app后,点击下方“打开IP摄像头服务器”,会有显示局域网ip)
//即:http://<USERNAME>:<PASSWORD>@<IP_ADDRESS>/<the value of src>
capture.open("http://admin:admin@192.168.165.33:8081");
while (1)
{
capture >> frame; //读取当前每一帧画面
imshow("读取视频", frame); //显示当前图像帧
waitKey(30); //延时30ms
}
return 0;
}
代码中用到了登陆名,密码,ip,端口号,手机端软件都会告诉你,而且还可以设置,图像的质量、格式也可以设置,挺不错的一款软件。