python实现调用摄像头并拍照发邮箱


Posted in Python onApril 27, 2021

项目地址:

https://github.com/flygaga/camera

思路

1、通过opencv调用摄像头拍照保存图像到本地

2、用email库构造邮件内容,保存图片以附件形式插入邮件内容

3、用smtplib库发送邮件到指定邮箱

4、生成 .exe 文件

5、设置开机自启(每次开机自动运行,启动相机,拍下照片发送到指定邮箱)

导入工具

import cv2 # pip install opencv-python -i {指定镜像源} 控制摄像头

from email.mime.image imort MIMEImage #用来构造邮件内容的库

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

import smtplib #发送邮件

编译环境

系统:Windows10

软件:Miniconda3-latest-Windows-x86_64

模块:opencv-python smtplib numpy email pyinstaller

生成exe文件

pyinstaller -F -w path/camera.py

设置开机自启

1.右击exe 创建快捷方式

2.win+r 输入以下命令 shell:startup 点击确定打开一个文件夹

3.将生成的快捷文件复制到打开的文件中,下次开机exe程序就会自动启动

python代码实现调用摄像头,并拍照发送邮件

主要代码

camera.py

import cv2
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# import smtplib #发送邮件
import smtplib
from smtplib import SMTP
import time

host = 'smtp.qq.com' #邮箱的接口
port = '25' #端口
pwd = 'neelrhh88******ch' #授权码
sender = '邮箱地址' #发送方
receiver = "邮箱地址" #接收方

path = r'./' #图像保存路径
images = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime())

def GetPicture():
    """
    拍照保存图像
    """
    #创建一个窗口camera
    cv2.namedWindow('camera',1) #'1' 表示窗口不能随意拖动
    #调用摄像头
    cap = cv2.VideoCapture(0)
    ret,frame = cap.read() #读取摄像头内容
    cv2.imwrite(path+images+".jpg",frame)  #保存到磁盘


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

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(path+images+'.jpg','rb').read()
    image = MIMEImage(SendImageFile)
    image['Content-Disposition'] = 'attachment;filename="people.jpg"'
    msg.attach(image)
    return msg.as_string()

def SendEmail(msg):
    '''
    发送邮件
    :msg :邮件内容
    :return
    '''
    try:
        smtp = smtplib.SMTP_SSL(host,port) #创建一个邮件服务
        # smtp.connect(host)
        smtp.login(sender,pwd)
        smtp.sendmail(sender,receiver,msg)
        time.sleep(3)
        smtp.quit() #退出邮件服务
    except smtplib.SMTPException as e:
        print("e")
#实现开机自启动
#打包实现启动  例:exe 

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

以上就是python实现调用摄像头并拍照发邮箱的详细内容,更多关于python 调用摄像头的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
简单介绍Python的轻便web框架Bottle
Apr 08 Python
使用PDB简单调试Python程序简明指南
Apr 25 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
python利用正则表达式提取字符串
Dec 08 Python
python使用thrift教程的方法示例
Mar 21 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
Apr 29 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
python提取log文件内容并画出图表
Jul 08 Python
Python函数装饰器原理与用法详解
Aug 16 Python
Python List列表对象内置方法实例详解
Oct 22 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 Python
django如何自定义manage.py管理命令
Apr 27 #Python
Python爬虫之爬取二手房信息
七个Python必备的GUI库
Python实战之用tkinter库做一个鼠标模拟点击器
Python基础之pandas数据合并
上手简单,功能强大的Python爬虫框架——feapder
python绘制箱型图
You might like
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
JavaScript 常用函数库详解
2009/10/21 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
Python脚本实现格式化css文件
2015/04/08 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
python开启debug模式的方法
2019/06/27 Python
简单了解django索引的相关知识
2019/07/17 Python
python写一个随机点名软件的实例
2019/11/28 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
django有哪些好处和优点
2020/09/01 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
Python可以用来做什么
2020/11/23 Python
java字符串格式化输出实例讲解
2021/01/06 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
猫咪家具:CatsPlay
2018/11/03 全球购物
大学生学习自我评价
2014/01/13 职场文书
十佳班主任事迹材料
2014/01/18 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
朋友聚会祝酒词
2015/08/10 职场文书