本文小编为大家详细介绍“Python如何实现调用摄像头拍摄照片”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现调用摄像头拍摄照片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
步骤
-
用opencv打开摄像头并拍照
-
保存照片到本地
-
获取邮箱(如qq邮箱)的授权码,方法可自行百度
-
将照片以附件的形式发送到指定邮箱
-
删除本地照片
代码
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.VideoCapture0) # 开启摄像头 f, frame = cap.read) # 将摄像头中的一帧图片数据保存 cv2.imwrite'image.jpg', frame) # 将图片保存为本地文件 cap.release) # 关闭摄像头 # 把图片文件发送到我的邮箱 def send_message): # 选择QQ邮箱发送照片 host_server = 'smtp.qq.com' # QQ邮箱smtp服务器 pwd = 'xxxx' # 授权码 from_qq_mail = 'xxx@qq.com' # 发件人 to_qq_mail = 'xxxx@qq.com' # 收件人 msg = MIMEMultipart) # 创建一封带附件的邮件 msg['Subject'] = Header'摄像头照片', 'UTF-8') # 消息主题 msg['From'] = from_qq_mail # 发件人 msg['To'] = Header"YH", 'UTF-8') # 收件人 msg.attachMIMEText"照片", 'html', 'UTF-8')) # 添加邮件文本信息 # 加载附件到邮箱中 SSL 方式 加密 image = MIMETextopen'image.jpg', 'rb').read), 'base64', 'utf-8') image["Content-Type"] = 'image/jpeg' # 附件格式为图片的加密数据 msg.attachimage) # 附件添加 # 开始发送邮件 smtp = SMTP_SSLhost_server) # 链接服务器 smtp .loginfrom_qq_mail, pwd) # 登录邮箱 smtp.sendmailfrom_qq_mail, to_qq_mail, msg.as_string)) # 发送邮箱 smtp.quit) # 退出 if __name__ == '__main__': get_photo) # 开启摄像头获取照片 send_message) # 发送照片 os.remove'image.jpg') # 删除本地照片
实现效果
将写好的程序打包成exe文件
为了减小exe的大小可以自行新建一个虚拟环境再打包
双击exe暂时出现黑框
查看邮箱信息