您的位置:首页技术文章
文章详情页

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

【字号: 日期:2022-06-20 18:54:40浏览:5作者:猪猪
项目地址:

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 调用摄像头的资料请关注好吧啦网其它相关文章!

标签: Python 编程
相关文章: