Python cv2获取图片 转发Email
一、安装cv2
pip install opencv-python
二、导入依赖
import datetime
import os
import cv2
from smtplib import SMTP_SSL
from email.mime.text import MIMEText # 邮件文本
from email.mime.multipart import MIMEMultipart
from email.header import Header # 主题文字
三、使用cv2 打开相机
# 打开相机
def get_photo():
cap = cv2.VideoCapture(0) # 开启自带的 0自带 1外接
f, frame = cap.read() # 获取 f 获取成功/失败 frame 为数据
fileName = str(datetime.datetime.now().strftime('%Y%m%d%H%M%S')) + ".jpg"
cv2.imwrite(fileName, frame) # 数据保存
cap.release() # 关闭相机
return fileName
配置Email 接收获取到的图片
使用QQEmail
def get_email(now_date):
EMAIL_HOST = 'smtp.qq.com' # QQ
# 邮箱里面-->设置-->账户--POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-->IMAP/SMTP服务 开启即可
EMAIL_PWD = "" # 授权码
from_qq_user = "your" ## 发送邮件的人
to_qq_user = 'your' ## 接收邮件的人
msg = MIMEMultipart() # 创建邮件格式
msg['Subject'] = Header('获取拍摄的图片', 'UTF-8') # 主题文字
msg['From'] = from_qq_user
msg['To'] = to_qq_user
msg.attach(MIMEText(f'{datetime.datetime.now()} 图片获取', 'html', 'UTF-8')) # 文字信息 放置html展示 编码格式
# 附件
image = MIMEText(open(now_date, 'rb').read(), 'base64', 'utf-8')
image['Content-Type'] = 'image/jpeg'
msg.attach(image)
# 发送
smtp = SMTP_SSL(EMAIL_HOST) # 连接服务器
smtp.login(from_qq_user, EMAIL_PWD) # 登录邮箱
smtp.sendmail(from_qq_user, to_qq_user, msg.as_string()) # send
smtp.quit()
删除图片
使用os模块 删除图片
def rm_img(file_):
if os.path.isfile(file_):
os.remove(file_)
使用pyinstaller 打包成exe
安装 pyinstaller
pip install pyinstaller
使用 在py文件路径下 打包exe
pyinstall -F *.py -i favicon.ico
打包过程中 出现错误--enum
# 从python 3.6开始,enum34库不再与标准库兼容。该库也是不必要的,因此您只需卸载它即可。
pip uninstall enum34