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

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

    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
  • 用代码收集每天热点内容信息,并发送到自己的邮箱

    前言 本篇文章内容主要为如何用代码,把你想要的内容,以邮件的形式发送出去内容可以自己完善,还可以设置一个定时发送,或者开机启动自动运行代码 代理注册与使用 注册账号并登录 生成api 将自己电脑加入白名单 http://api.tianqiip.com/white/add?key=xxx&brand=2&sign=xxx&ip=输入自己电脑的ip地址 1. …

    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制作自动答题脚本,100%准确率,1秒10题提高效率

    前言 环境使用 Python 3.8 Pycharm 模块使用 import requests —> 数据请求模块 pip install requests import parsel —> 数据解析模块 pip install parsel from selenium import webdriver —> 自动测试模块 pip inst…

    Python开发 2023年4月2日
    00
  • 用Python实时获取steam特惠游戏数据

    前言 Steam是由美国电子游戏商Valve于2003年9月12日推出的数字发行平台,被认为是计算机游戏界最大的数码发行平台之一,Steam平台是全球最大的综合性数字发行平台之一。玩家可以在该平台购买、下载、讨论、上传和分享游戏和软件。 而每周的steam会开启了一轮特惠,可以让游戏打折,而玩家就会购买心仪的游戏 传说每次有大折扣,无数的玩家会去购买游戏,可…

    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
合作推广
合作推广
分享本页
返回顶部