飞道的博客

每日简单小妙招:使用python实现控制摄像头拍照并将其发送某某邮箱(仅供学习)

418人阅读  评论(0)

仅供学习,望注意隐私


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服务之后,复制那一串动态验证码(代码中要用到)

注意隐私!


转载:https://blog.csdn.net/Kevinnsm/article/details/116894102
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场