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读取html中指定元素生成excle文件示例
Apr 03 Python
python实现带验证码网站的自动登陆实现代码
Jan 12 Python
将Python中的数据存储到系统本地的简单方法
Apr 11 Python
Python多重继承的方法解析执行顺序实例分析
May 26 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
Python tkinter模版代码实例
Feb 05 Python
Django接收照片储存文件的实例代码
Mar 07 Python
如何利用Python 进行边缘检测
Oct 14 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 Python
django如何自定义manage.py管理命令
Apr 27 #Python
Python爬虫之爬取二手房信息
七个Python必备的GUI库
Python实战之用tkinter库做一个鼠标模拟点击器
Python基础之pandas数据合并
上手简单,功能强大的Python爬虫框架——feapder
python绘制箱型图
You might like
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
DISCUZ 分页代码
2007/01/02 PHP
PHP中include()与require()的区别说明
2010/03/10 PHP
php checkbox 取值详细说明
2010/08/19 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
js获取当前select 元素值的代码
2010/04/19 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
学生信息管理系统python版
2018/10/17 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
UML设计模式笔试题
2014/06/07 面试题
基层党员公开承诺书
2014/05/29 职场文书
银行贷款委托书范本
2014/10/11 职场文书
公务员检讨书
2014/11/01 职场文书
成品仓管员岗位职责
2015/04/01 职场文书
经典励志格言:每日一句,让你每天充满能量
2019/08/16 职场文书
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python