Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱

前言

今天这个案例,就是控制自己的摄像头拍照,并且把拍下来的照片,通过邮件发到自己的邮箱里。
想完成今天的这个案例,只要记住一个重点:你需要一个摄像头

思路

  1. 通过opencv调用摄像头拍照保存图像本地
  2. 用email库构造邮件内容,保存的图像以附件形式插入邮件内容
  3. 用smtplib库发送邮件到指定邮箱

工具导入

import time
import cv2  # pip install opencv-python -i 镜像源网址
from email.mime.image import MIMEImage  # 用来构造邮件内容的库
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib  # 发送邮件

 

调用摄像头,保存图片

拍照呢,是用手机的摄像头,软件用的是:IP摄像头(安卓),因为在同一个局域网内,打开APP,里面出现的网址就是摄像头的地址

def GetPicture():
    """
    拍照保存图像
    :return:
    """
    # 创建一个窗口
    cv2.namedWindow('camera', 1)
    # 调用摄像头   IP摄像头APP
    video = "http://admin:admin@192.168.3.32:8081/video"
    cap = cv2.VideoCapture(video)
    while True:
        success, img = cap.read()
        cv2.imshow("camera", img)
        # 按键处理
        key = cv2.waitKey(10)
        if key == 27:
            # esc
            break
        if key == 32:
            # 空格
            fileaname = 'frames.jpg'
            cv2.imwrite(fileaname, img)

    # 释放摄像头
    cap.release()
    # 关闭窗口
    cv2.destroyWindow("camera")

 

运行代码,就会出现效果

Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱

创建一个函数,设置一下我的邮件内容

def SetMsg():
    """
    邮件格式设置
    :return:
    """
    msg = MIMEMultipart('mixed')
    # 标题
    msg['Subject'] = '小姐姐照片'
    msg['From'] = sender  # 发送方邮箱
    msg['To'] = receiver  # 接收方邮箱

    # 邮件正文
    text = '你要的小姐姐照片到了,请接收'
    text_plain = MIMEText(text, 'plain', 'utf-8')  # 正文转码
    msg.attach(text_plain)

    # 图片附件
    SendImageFile = open('D:/控制摄像头拍照并发送邮件/frames.jpg', 'rb').read()
    image = MIMEImage(SendImageFile)

    # 将收件人看见的附件照片名称改为people.png.
    image['Content-Disposition'] = 'attachment; filename = "people.png"'
    msg.attach(image)
    return msg.as_string()

 

邮件端口设置

授权码可以在这里领取

Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱

# 授权码
pwd = "******"   # 最好写自己的

# 服务器接口
host = 'smtp.163.com'
port = 25

sender = 'XXXX@163.com' # 最好写自己的
receiver = 'XXXX@qq.com' # 最好写自己的

 

发送邮件功能

def SendEmail(msg):
    """
    发送邮件
    :param msg:邮件内容
    :return:
    """
    smtp = smtplib.SMTP()
    smtp.connect(host,port=25)
    smtp.login(sender, pwd)
    smtp.sendmail(sender, receiver, msg)
    time.sleep(2)
    smtp.quit()

 

进行封装

if __name__ == '__main__':
    # 1.拍照保存
    GetPicture()
    # 2.设置邮件格式
    msg = SetMsg()
    # 3.发送邮件
    SendEmail(msg)

 

运行代码,演示效果

先拍照

Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱

发送到了邮箱

Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱

Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python控制自己的手机摄像头拍照,并把照片自动发送到邮箱 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python tkinter 制作一个经典的登录界面和点击事件

    前言 Tkinter(即 tk interface) 是 Python 标准 GUI 库,简称 “Tk”;从本质上来说,它是对 TCL/TK 工具包的一种 Python 接口封装。Tkinter 是 Python 自带的标准库,因此无须另行安装,它支持跨平台运行,不仅可以在 Windows 平台上运行,还支持在 Linux 和 Mac 平台上运行。 Tkin…

    Python开发 2023年4月2日
    00
  • Python tkinter 做一个VIP视频解析的桌面软件,100%你会爱上它

    前言 tkinter:GUI桌面应用开发模块,写软件界面你还可以打包成exe软件, 哪怕你没有python环境, 一样可以用虽然不一定要有界面, 但是有界面, 用户体验很棒… 环境使用 Python 3.8 Pycharm 模块使用 import tkinter import webbrowser 最终实现的效果 对于本篇文章有疑问的同学可以加【资料白嫖、解…

    Python开发 2023年4月2日
    00
  • 一位同学的Python大作业【分析当当网书籍价格、出版社、电子书版本占比数据】

    目录 前言 本次案例实现目标 最基本思路流程: <通用> 一. 数据来源分析 二. 代码实现步骤过程: 代码实现基本四大步骤 代码实现 获取书籍详情信息 发送请求 解析数据 保存数据 运行代码得到结果 可视化图表 书籍总体价格区间 各个出版社书籍数量柱状图 电子书版本占比 书籍评论数据 词云   对于本篇文章有疑问的同学可以加【资料白嫖、解答交流…

    Python开发 2023年4月2日
    00
  • Python采集1000多所世界大学排名数据,制作可视化图

    前言 QS世界大学排名(QS World University Rankings)是由英国一家国际教育市场咨询公司Quacquarelli Symonds(简称QS)所发表的年度世界大学排名 采集全球大学排名数据(源码已分享,求点赞) import requests # 发送请求 import re import csv with open(‘rank.cs…

    Python开发 2023年4月2日
    00
  • 近段时间天气暴热,所以采集北上广深去年天气数据,制作可视化图看下

    前言 最近天气异常暴热,看到某些地方地表温度居然达到70°,这就离谱所以就想采集一下天气的数据,做个可视化图,回忆一下去年的天气情况 开发环境 python 3.8 运行代码 pycharm 2021.2 辅助敲代码 requests 第三方模块 对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:753182387】 天气数据采集 1. 发送请求 url…

    Python开发 2023年4月2日
    00
  • 羊了个羊第二关通关率不到0.1%?我这里100%

    前言 准备工作 步骤 1 配置fiddler和WX环境 fiddler配置 其他的照我截的图片配置就好 这样 fiddler 就配置好,是不是很简单 WX配置 配置代理 注:端口号得和fiddler配置的一致,也就是这个位置 至于ip地址,使用这个即可 黑框调出方式:win+R,输入cmd然后回车,再输入ipconfig 打开微信,搜索(这时候fiddler…

    Python开发 2023年4月2日
    00
  • Python获取手机4K壁纸,一个入门练手的案例

    前言 一. 数据来源分析 明确需求, 我们采集网上什么数据内容, 在什么地方 分析我们想要高清原图在什么地方有 浏览器自带工具: 开发者工具 F12 鼠标右键点击 插件 选择 network 刷新网页 点击选择 Img 可以直接找到图片地址 通过搜索分析, 可以知道, 我们想要图片原图url 就在 图片详情页网页源代码里面 二. 代码大概实现步骤 发送请求,…

    Python开发 2023年4月2日
    00
  • Python获取“双十一”商品评论,做词云分析,一个简单的案例教学

    前言 环境使用 Python 3.8 Pycharm 模块使用 requests jieba 结巴分词 wordcloud 词云 数据来源分析 明确需求 <数据来源分析> 采集数据是什么东西? 通过那个url地址得到想要数据的内容 抓包分析: 浏览器自带工具 –> 开发者工具I. F12 或者 鼠标右键点击检查 选择 network 点击…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部