您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python实现调用摄像头并拍照发邮箱

51自学网 2021-10-30 22:43:17
  python
这篇教程python实现调用摄像头并拍照发邮箱写得很实用,希望能帮到您。

项目地址:

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 MIMETextfrom email.mime.multipart import MIMEMultipartimport 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 cv2from email.mime.image import MIMEImagefrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart# import smtplib #发送邮件import smtplibfrom smtplib import SMTPimport timehost = '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 调用摄像头的资料请关注51zixue.net其它相关文章!


django如何自定义manage.py管理命令
python实现腾讯滑块验证码识别
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。