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根据文件大小打log日志
Oct 09 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
python对验证码降噪的实现示例代码
Nov 12 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
python如何操作mysql
Aug 17 Python
python使用布隆过滤器的实现示例
Aug 20 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 Python
Python+OpenCV实现图片中的圆形检测
Apr 07 Python
django如何自定义manage.py管理命令
Apr 27 #Python
Python爬虫之爬取二手房信息
七个Python必备的GUI库
Python实战之用tkinter库做一个鼠标模拟点击器
Python基础之pandas数据合并
上手简单,功能强大的Python爬虫框架——feapder
python绘制箱型图
You might like
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
php中JSON的使用方法
2015/04/30 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
JS中的phototype详解
2017/02/04 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
python解析xml文件实例分享
2013/12/04 Python
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
python定时关机小脚本
2018/06/20 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
python模块导入的方法
2019/10/24 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
Python的collections模块真的很好用
2021/03/01 Python
学校联谊活动方案
2014/02/15 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
2016年情人节广告语
2016/01/28 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python