使用手机做PC机摄像头

准备工作:

  1. 带摄像头的安卓手机一部
  2. 模拟相机软件:Iriun 、DroidCam 、IP摄像头
  3. python+opencv

一、Iriun

1、分别在PC和手机上安装

2、手机和PC在同一个局域网

3、分别打开PC和手机端软件,电脑端就可以使用手机相机

二、 DroidCam

1、安装软件

2、打开软件

3、手机和PC在同一个局域网

4、python 打开手机相机

python 复制代码
import cv2

url = "http://192.168.1.20:4747/video"
cap = cv2.VideoCapture(url)

while(cap.isOpened()):
    # Capture frame-by-frame
    ret, frame = cap.read()
    # Display the resulting frame
    cv2.imshow('frame',frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

三、IP摄像头

通过局域网

python 复制代码
import cv2

url = "http://192.168.1.20:8081/video"
cap = cv2.VideoCapture(url)

while(cap.isOpened()):
    # Capture frame-by-frame
    ret, frame = cap.read()
    # Display the resulting frame
    cv2.imshow('frame',frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

通过RTSP 人脸识别

python 复制代码
import cv2

# 加载人脸检测器模型
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
url = 'rtsp://:@192.168.1.19:8554/live'
# 创建一个VideoCapture对象,用于读取视频流
cap = cv2.VideoCapture(url)



# 循环读取视频帧并进行人脸检测
while True:
    # 读取视频帧
    ret, frame = cap.read()

    # 将视频帧转换为灰度图像
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # 检测人脸
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    # 在视频帧中标记人脸
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)

    # 在窗口中显示视频帧
    cv2.imshow("IP Camera - Face Detection", frame)

    # 按下'q'键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放VideoCapture对象和窗口
cap.release()
cv2.destroyAllWindows()
相关推荐
xzal12几秒前
python中,turtle基础知识笔记1
笔记·python·turtle
a95114164219 分钟前
CSS如何实现元素隐藏不占位_使用display-none完全移除
jvm·数据库·python
rabbit_pro32 分钟前
Python调用onnx模型
开发语言·python
AC赳赳老秦1 小时前
OpenClaw生成博客封面图+标题,适配CSDN视觉搜索,提升点击量
运维·人工智能·python·自动化·php·deepseek·openclaw
m0_493934532 小时前
如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS
jvm·数据库·python
xiaotao1312 小时前
01-编程基础与数学基石:概率与统计
人工智能·python·numpy·pandas
赵侃侃爱分享2 小时前
学完Python第一次写程序写了这个简单的计算器
开发语言·python
a9511416422 小时前
Go语言如何操作OSS_Go语言阿里云OSS上传教程【完整】
jvm·数据库·python
2401_897190552 小时前
MySQL中如何利用LIMIT配合函数分页_MySQL分页查询优化
jvm·数据库·python
断眉的派大星3 小时前
# Python 魔术方法(魔法方法)超详细讲解
开发语言·python