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日

相关文章

  • 近段时间天气暴热,所以采集北上广深去年天气数据,制作可视化图看下

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

    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
  • 一位同学的Python大作业【分析当当网书籍价格、出版社、电子书版本占比数据】

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

    Python开发 2023年4月2日
    00
  • Python爬取网易云歌曲评论,做词云分析

    前言 emmmm 没什么说的,想说的都在代码里 环境使用 Python 3.8 解释器 3.10 Pycharm 2021.2 专业版 selenium 3.141.0 本次要用到selenium模块,所以请记得提前下载好浏览器驱动,配置好环境 对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:753182387】 代码实现 先是安装、导入所需模块 fr…

    Python开发 2023年4月2日
    00
  • Python selenium 实现大麦网自动抢票,简单的实现全购票过程

    前言 大麦网是中国综合类现场娱乐票务营销平台,业务覆盖演唱会、 话剧、音乐剧、体育赛事等领域今天,我们要用代码来实现他的购票过程 先来看看完成后的效果是怎么样的 对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:753182387】 开发环境 版 本:anaconda(python3.8.8) 编辑器:pycharm 代码实现步骤 实现免登陆 选座并且下…

    Python开发 2023年4月2日
    00
  • Python tkinter 制作文章搜索软件,有没有方便快捷不知道,好玩就行了

    前言 无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了 环境使用 Python 3.8 Pycharm 模块使用 import requests import tkinter as tk from tkinter import ttk import webbrowser 最终效果 对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:…

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

    前言 一. 数据来源分析 明确需求, 我们采集网上什么数据内容, 在什么地方 分析我们想要高清原图在什么地方有 浏览器自带工具: 开发者工具 F12 鼠标右键点击 插件 选择 network 刷新网页 点击选择 Img 可以直接找到图片地址 通过搜索分析, 可以知道, 我们想要图片原图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
合作推广
合作推广
分享本页
返回顶部