使用手机做PC机摄像头

准备工作:

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

一、Iriun

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

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

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

二、 DroidCam

1、安装软件

2、打开软件

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

4、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摄像头

通过局域网

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 人脸识别

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()

上一篇:Python中的决策树算法探索