准备工作:
- 带摄像头的安卓手机一部
- 模拟相机软件:Iriun 、DroidCam 、IP摄像头
- python+opencv
一、Iriun
1、分别在PC和手机上安装
2、手机和PC在同一个局域网
3、分别打开PC和手机端软件,电脑端就可以使用手机相机
二、 DroidCam
1、安装软件
2、打开软件
3、手机和PC在同一个局域网
4、python 打开手机相机
import cv2url = "http://192.168.1.20:4747/video"
cap = cv2.VideoCapture(url)while(cap.isOpened()):# Capture frame-by-frameret, frame = cap.read()# Display the resulting framecv2.imshow('frame',frame)if cv2.waitKey(1) & 0xFF == ord('q'):break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
三、IP摄像头
通过局域网
import cv2url = "http://192.168.1.20:8081/video"
cap = cv2.VideoCapture(url)while(cap.isOpened()):# Capture frame-by-frameret, frame = cap.read()# Display the resulting framecv2.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()