一、下载并安装Droidcam

在这里插入图片描述
电脑端下载地址:http://www.dev47apps.com/
手机端可直接通过App Store或应用商店下载。
下载完成后,安装。

1.1 Windows端

可以看到PC端的工具界面非常的简洁,共分为三种连接方式,分别为WiFI连接、USB连接、WIFI保护连接,大家只需要注意前两种就好,第三种无关紧要。
在这里插入图片描述

1.2 手机端

在连接WIFI的情况下打开APP就会显示你的WIFI IP地址以及软件默认设置的端口(可修改),请务必记住这个地址以及端口。
iPhone版:
在这里插入图片描述

Android版:
在这里插入图片描述

二、操作演示及注意事项

2.1 操作演示

操作非常的简单,只需要在PC端的工具界面输入手机APP上显示的WIFI IP和端口点击Start就行啦(前提是手机和电脑要在同一网络下)!

2.2 注意事项

苹果手机的注意事项:

  1. 需要将所有允许访问打开,包括麦克风相机等等
  2. 如果尝试还是无法连接,则点击App右下角Upgrade,点击Start Purchase然后再退出即可;

安卓手机的注意事项:

  1. 其注意事项基本与苹果手机同理,如果不行,则可以加USB线先连接,连接成功再拔掉USB线即可。

如果你再三检查都觉得自己没搞错,那就继续点[Connect连接],或者断开wifi重新连接,关闭手机端的程序重新打开什么的,不断地试,总会成功的。

2.3 设置分辨率

分辨率设置点击“HD Mode”:
在这里插入图片描述
可以自由选择分辨率:
在这里插入图片描述

三、在MATLAB中调用Droidcam

3.1 安装MATLAB工具箱 Support Package for IP Cameras

安装方法:在MATLAB中输入如下命令:

cam = ipcam('你的IP/video/mjpg.cgi')
preview(cam)

运行之后可以看到下方出现错误:
在这里插入图片描述
点击Support Package Installer,出现如下界面。
在这里插入图片描述

如果没跳出这个界面,则重启MATLAB即可。

一路next,注册一个MATLAB账号,然后一路next。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ok,如下便是成功安装了。
在这里插入图片描述

3.2 进行设置

手机和电脑处于同一局域网下,打开APP,查看自己的IP(不要和电脑端Droidcam连接)。

3.3 运行代码

cam = ipcam('你的IP/video/mjpg.cgi')
preview(cam)
%然后就可以picture = camera.snapshot获得图片再进行识别等操作

比如我的URL是http://192.168.1.102:4747,就填

cam = ipcam('http://192.168.1.102:4747/video/mjpg.cgi')

3.4 截取并保存图像

完整代码如下:

cam = ipcam('http://192.168.1.102:4747/video/mjpg.cgi')
h1=preview(cam);%预览视频

h2=figure('KeyPressFcn',@keyPressFigure); %新建显示图像figure,同时获取句柄
while ishandle(h1) && ishandle(h2)              %两个句柄有一个关闭就结束程序
    frame=snapshot(cam);     %捕获图像(ctrl+x保存图像)
    %frame=ycbcr2rgb(frame);
    imshow(frame);
    imwrite(frame,'实时图像.png');%保存图像
end
delete(cam); %删除对象

截取快捷键子函数keyPressFigure:

function keyPressFigure(src,event) 
    global m;
        % CTRL + x 截取图像
    if length(event.Modifier) == 1 & strcmp(event.Modifier{:}, 'control') & event.Key == 'x' 
       m=imcrop();
    end

end

四、在python中调用Droidcam

代码如下:

import cv2

cv2.namedWindow("camera", 1)
# 开启ip摄像头
video = "http://192.168.1.102:4747/video/mjpg.cgi"   # 依然是: 你的IP/video/mjpg.cgi
capture = cv2.VideoCapture(video)

while True:
    success, img = capture.read()
    cv2.imshow("camera", img)
    # 按esc键退出,注意,应当在摄像头窗口按键,不是在终端命令行窗口
    key = cv2.waitKey(10)
    if key == 27:
        print("esc break...")
        break

capture.release()
cv2.destroyWindow("camera")

参考链接:https://blog.csdn.net/qq_42800654/article/details/89166505

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐