使用Python控制摄像头拍照并发邮件的案例

  介绍

这篇文章给大家分享的是有关使用Python控制摄像头拍照并发邮件的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Python的五大特点是什么

Python的五大特点:1。简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2。面向对象,与其他主要的语言如c++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。3。可移植性,Python程序无需修改就可以在各种平台上运行。4。解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5。开源,Python是牙线(自由/开放源码软件)之一。

<强>,工具

?15.9深化版的
?好看好用的国产linux系统
?python 2.7或3.6者
?解释器,哪个版本都可以,我选择3.6
?smtplib
?用来发送邮件
?电子邮件
?用来构造邮件内容的库
?opencv
?用来调取摄像头拍摄照片
?时间
?获取开机以及拍照的时间
?操作系统
?判断网络连接
?获取脚本路径
?sys
?判断网络是否联通

<强>思路

吗? 1。用opencv库调用摄像头拍照保存为文件。
吗? 2。检查网络是否连接,未连接则图片保存到本地。
吗? 3。用电子邮件库构造邮件内容,把保存的照片以附件的形式插入到邮件内容中。
吗? 4。用smtplib库发送邮件给指定邮件接收者。
? 5。实现脚本开机自启动。

<强>安装及导入所使用的包

首先当然是安装opencv啦。

其他的电子邮件、smtplib,系统,操作系统,时间为python默认安装的包,我们只需要导入即可。

如果是python3.6安装opencv就在终端输入:

<代码> pip3安装opencv-python

如果是python2.7安装opencv,就在终端输入:

<代码> pip安装opencv-python

安装完成后,我们导入必要的包。

各个包的作用在前文已经讲过,不再多言。

电子邮件我们只需要部分功能,所以选择性导入

, import  cv2   import  smtplib   import 系统   import 操作系统   import 时间   ,得到email.mime.image  import  MIMEImage   ,得到email.mime.multipart  import  MIMEMultipart   ,得到email.mime.text  import  MIMEText

设置参数

将smtp服务器,登录邮箱账号及密码,收件的人,脚本路径等设置为全局变量。方便以后程序移植与修改。

smtpserver =, & # 39; smtp.163.com& # 39;,,, #, smtp服务器   时间=username  & # 39; 888888888 @163.com& # 39;, #,发件邮箱账号   时间=password  & # 39; 888888888 & # 39;,,, #,邮箱登录密码   sender ,=, & # 39; 888888888 @163.com& # 39;, #,发件的人   时间=addressee  & # 39; 999999999 @qq.com& # 39;,, #,收件的人   时间=exit_count  5,,,,,, #,尝试联网次数   path ,=, os.getcwd(),,, #获取图片保存路径

注:很多邮箱为了安全起见,不会使用真实的登录密码,而是要使用授权码,在QQ邮箱的设置里面可以找到生成授权码选项。

实现拍照

def  getPicture ():=,,cap  cv2.VideoCapture (0)   ,受潮湿腐烂,frame =, cap.read ()   ,cv2.imwrite(路径+ & # 39;/person.jpg& # 39;,,)   ,#关闭摄像头   之前,cap.release ()

构造邮件内容

def  setMsg ():   ,#下面依次为邮件类型,主题,发件人和收件的人。=,,msg  MIMEMultipart(& # 39;混合# 39;)   ,味精(& # 39;主题# 39;],=,& # 39;电脑已经启动& # 39;   ,味精(& # 39;从# 39;],=,& # 39;88888888888 @163.com  & lt; 88888888888 @163.com> & # 39;   ,味精(& # 39;伍仟# 39;],=,收件人   ,#下面为邮件的正文=,text “主的人,你的电脑已经开机!   照片如下!“=,,text_plain  MIMEText(文本,& # 39;平原# 39;,,& # 39;utf - 8 # 39;)   ,msg.attach (text_plain)   ,#构造图片链接=,sendimagefile 开放(路径+ & # 39;/person.jpg& # 39;,, & # 39; rb # 39;) .read ()=,,image  MIMEImage (sendimagefile)   ,#下面一句将收件人看到的附件照片名称改为people.png。   ,图像(“Content-Disposition"),=, & # 39;附件;,文件名=皃eople.png" & # 39;   ,msg.attach(图片)   以前,return  msg.as_string ()

实现邮件发送

def  sendEmail(味精):   ,#发送邮件=,,smtp  smtplib.SMTP ()   ,smtp.connect (& # 39; smtp.163.com& # 39;)   ,smtp.login(用户名,密码)   ,smtp.sendmail(发件人,收件人,,味精)   之前,smtp.quit ()

使用Python控制摄像头拍照并发邮件的案例