Python cv2获取照片


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

uninstall enum34

# 从python 3.6开始,enum34库不再与标准库兼容。该库也是不必要的,因此您只需卸载它即可。
pip uninstall enum34


文章作者: 柒仔
项目连接: 下载链接
文章链接: /article/37/
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 XiaoLiu!
侵权声明: 若无意对您的文章造成侵权,请您留言,博主看到后会及时处理,谢谢。
评论-----昵称和邮箱必填,网址选填
  目录