Python实现调用摄像头拍摄照片

作者:Andy-wen 时间:2021-01-22 12:22:25 

步骤

  • 用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.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 = '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.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')      # 删除本地照片

实现效果

将写好的程序打包成exe文件

Python实现调用摄像头拍摄照片

为了减小exe的大小可以自行新建一个虚拟环境再打包

双击exe暂时出现黑框

Python实现调用摄像头拍摄照片

查看邮箱信息

Python实现调用摄像头拍摄照片

Python实现调用摄像头拍摄照片

需要下载附件后自行更改文件后缀就可查看所拍到的图片了

来源:https://blog.csdn.net/weixin_45816954/article/details/125343199

标签:Python,摄像头,照片
0
投稿

猜你喜欢

  • 解决Django一个表单对应多个按钮的问题

    2021-07-15 15:34:55
  • my sql存储过程学习总结

    2011-07-12 19:12:35
  • MySQL的InnoDB存储引擎的数据页结构详解

    2024-01-14 01:23:27
  • 举例详解Python中循环语句的嵌套使用

    2022-11-23 05:52:07
  • Python 实现键盘鼠标按键模拟

    2021-11-30 11:00:26
  • 浅谈在django中使用filter()(即对QuerySet操作)时踩的坑

    2022-05-03 10:24:49
  • pandas 实现分组后取第N行

    2023-02-09 11:11:40
  • SQL server高并发生成唯一订单号的方法实现

    2024-01-21 21:24:55
  • 详细解读Python中解析XML数据的方法

    2021-08-18 11:56:24
  • python基础之内置函数

    2022-02-28 09:15:58
  • 引用 js在IE与FF之间的区别详细解析

    2024-05-22 10:37:44
  • Python API自动化框架总结

    2022-08-25 15:37:44
  • python 发送和接收ActiveMQ消息的实例

    2022-08-23 18:45:20
  • python简单获取数组元素个数的方法

    2023-03-08 15:39:29
  • 微信小程序常用的3种提示弹窗实现详解

    2024-04-18 09:43:39
  • Mysql中的concat函数(拼接函数)详解

    2024-01-27 21:01:37
  • python中类变量与成员变量的使用注意点总结

    2022-01-08 03:39:51
  • .NET 6中为record类型自定义Equals方法

    2023-07-15 21:29:29
  • 详解Python中__str__和__repr__方法的区别

    2023-02-28 17:29:17
  • python生成带有表格的图片实例

    2023-05-22 03:30:16
  • asp之家 网络编程 m.aspxhome.com