一、前言
Droidcam 是一款可以将手机变成网络摄像头的工具,我们可以利用 Droidcam 让 OpenCV 拥有调用手机摄像头的能力。
二、步骤
2.1 安装 DroidCam
在手机和电脑上分别安装 DroidCam 的客户端和服务端
下载地址:https://pan.baidu.com/s/1DrBn3P1Bx-SXa4d6oziifA?pwd=gr1o
提取码:gr1o
2.2 测试连接状态
手机和电脑需要连接同一个 Wifi(或电脑连接手机的热点)。
打开手机上的 DroidCam 服务端,使用电脑浏览器访问下面的网址
如果出现以下页面,表示 DroidCam 已安装成功,最后要退出浏览器。
同一时间只能有一个软件调用手机摄像头,如果不关闭浏览器,后面使用 OpenCV 调用手机摄像头将报错。
2.3 连接手机摄像头
此时手机已经成为了网络摄像头,可以通过下面的链接访问它的视频流
http://<IP>:<Port>/mjpegfeed?[分辨率]
- 分辨率可以选择
- 320x240
- 640x480
- 960x720
- 1280x720
- 1920x1080
注意:调用手机摄像头的期间不要退出手机上的 DroidCam。
例:手机端 DroidCam 截图如下,那么手机摄像头的视频流链接就是:
http://192.168.31.211:4747/mjpegfeed
文章来源:https://www.toymoban.com/news/detail-492868.html
此时就可以通过 OpenCV 调用手机摄像头文章来源地址https://www.toymoban.com/news/detail-492868.html
cap = cv2.VideoCapture("http://192.168.31.211:4747/mjpegfeed")
完整代码
'''
Author: CloudSir
@Github: https://github.com/CloudSir
Date: 2022-05-13 10:24:00
LastEditTime: 2022-07-27 11:47:08
LastEditors: CloudSir
Description:
'''
import cv2
def get_DroidCam_url(ip, port=4747, res='480p'):
res_dict = {
'240p': '320x240',
'480p': '640x480',
'720p': '1280x720',
'1080p': '1920x1080',
}
url = f'http://{ip}:{port}/mjpegfeed?{res_dict[res]}'
return url
# DroidCam 显示的IP地址、端口号和相机分辨率(可选 240p,480p,720p,1080p)
cap = cv2.VideoCapture(get_DroidCam_url('192.168.31.211', 4747, '720p'))
while True:
ret, frame = cap.read()
if ret:
cv2.imshow('image', frame)
key = cv2.waitKey(1)
# 按q退出程序
if key == ord('q'):
break
# 释放VideoCapture
cap.release()
# 销毁所有的窗口
cv2.destroyAllWindows()
三、参考资料
- 使用OpenCV读取DroidCam的摄像头数据(局域网内):https://www.jianshu.com/p/523867890957
- DroidCam - 让手机充当无线摄像头[Android] - 小众软件:https://www.appinn.com/droidcam-for-android/
到了这里,关于【计算机视觉 · OpenCV】使用 OpenCV 调用手机摄像头的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!