Python 调用摄像头拍照并自动发送邮件实现
前言
本教程介绍如何使用 Python 脚本控制摄像头拍摄照片,并将图片通过邮件自动发送到指定邮箱。该功能可用于设备丢失追踪或远程监控场景。
核心思路:
- 使用
opencv调用摄像头捕获图像并保存。 - 使用
email库构造包含附件的邮件内容。 - 使用
smtplib连接 SMTP 服务器发送邮件。
环境准备
确保已安装以下依赖库:
pip install opencv-python
smtplib 和 email 为 Python 标准库,无需额外安装。
代码实现
1. 导入模块
import time
import cv2
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib
2. 摄像头拍照函数
此函数打开摄像头窗口,按下空格键保存图片。
def GetPicture():
"""
拍照保存图像
:return: None
"""
# 创建显示窗口
cv2.namedWindow('camera', 1)
# 初始化视频源
# 注意:此处需替换为实际的摄像头地址
# 本地摄像头通常使用 0
video_url = 0
cap = cv2.VideoCapture(video_url)
if not cap.isOpened():
print("无法打开摄像头")
return
while True:
success, img = cap.read()
if not success:
break
cv2.imshow(, img)
key = cv2.waitKey()
key == :
key == :
filename =
cv2.imwrite(filename, img)
()
cap.release()
cv2.destroyAllWindows()


