Droidcam 是一款可以将手机变成网络摄像头的工具,我们可以利用 Droidcam 让 OpenCV 拥有调用手机摄像头的能力。
在手机和电脑上分别安装 DroidCam 的客户端和服务端
下载地址:https://pan.baidu.com/s/1DrBn3P1Bx-SXa4d6oziifA?pwd=gr1o
提取码:gr1o
手机和电脑需要连接同一个 Wifi(或电脑连接手机的热点)。
打开手机上的 DroidCam 服务端,使用电脑浏览器访问下面的网址
如果出现以下页面,表示 DroidCam 已安装成功,最后要退出浏览器。
同一时间只能有一个软件调用手机摄像头,如果不关闭浏览器,后面使用 OpenCV 调用手机摄像头将报错。
此时手机已经成为了网络摄像头,可以通过下面的链接访问它的视频流
http://
注意:调用手机摄像头的期间不要退出手机上的 DroidCam。
例:手机端 DroidCam 截图如下,那么手机摄像头的视频流链接就是:
http://192.168.31.211:4747/mjpegfeed
此时就可以通过 OpenCV 调用手机摄像头
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()