python實現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱
項目地址:
https://github.com/flygaga/camera
思路
1、通過opencv調(diào)用攝像頭拍照保存圖像到本地
2、用email庫構(gòu)造郵件內(nèi)容,保存圖片以附件形式插入郵件內(nèi)容
3、用smtplib庫發(fā)送郵件到指定郵箱
4、生成 .exe 文件
5、設置開機自啟(每次開機自動運行,啟動相機,拍下照片發(fā)送到指定郵箱)
導入工具
import cv2 # pip install opencv-python -i {指定鏡像源} 控制攝像頭 from email.mime.image imort MIMEImage #用來構(gòu)造郵件內(nèi)容的庫 from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import smtplib #發(fā)送郵件
編譯環(huán)境
系統(tǒng):Windows10
軟件:Miniconda3-latest-Windows-x86_64
模塊:opencv-python smtplib numpy email pyinstaller
生成exe文件
pyinstaller -F -w path/camera.py
設置開機自啟
1.右擊exe 創(chuàng)建快捷方式
2.win+r 輸入以下命令 shell:startup 點擊確定打開一個文件夾
3.將生成的快捷文件復制到打開的文件中,下次開機exe程序就會自動啟動
python代碼實現(xiàn)調(diào)用攝像頭,并拍照發(fā)送郵件
主要代碼
camera.py
import cv2 from email.mime.image import MIMEImage from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # import smtplib #發(fā)送郵件 import smtplib from smtplib import SMTP import time host = 'smtp.qq.com' #郵箱的接口 port = '25' #端口 pwd = 'neelrhh88******ch' #授權(quán)碼 sender = '郵箱地址' #發(fā)送方 receiver = "郵箱地址" #接收方 path = r'./' #圖像保存路徑 images = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime()) def GetPicture(): """ 拍照保存圖像 """ #創(chuàng)建一個窗口camera cv2.namedWindow('camera',1) #'1' 表示窗口不能隨意拖動 #調(diào)用攝像頭 cap = cv2.VideoCapture(0) ret,frame = cap.read() #讀取攝像頭內(nèi)容 cv2.imwrite(path+images+".jpg",frame) #保存到磁盤 #釋放攝像頭 cap.release() #關(guān)閉窗口 cv2.destroyWindow("camera") def SetMsg(): ''' 設置郵件格式 :return: ''' msg = MIMEMultipart('mixed') #標題 msg['Subject'] = '電腦已開機' msg['From'] = sender msg['To'] = receiver #郵件正文內(nèi)容 text = '電腦已開機,請查收圖片確認是否為本人' text_plain = MIMEText(text,'plain','utf-8') #正文轉(zhuǎn)碼 msg.attach(text_plain) #圖片 SendImageFile = open(path+images+'.jpg','rb').read() image = MIMEImage(SendImageFile) image['Content-Disposition'] = 'attachment;filename="people.jpg"' msg.attach(image) return msg.as_string() def SendEmail(msg): ''' 發(fā)送郵件 :msg :郵件內(nèi)容 :return ''' try: smtp = smtplib.SMTP_SSL(host,port) #創(chuàng)建一個郵件服務 # smtp.connect(host) smtp.login(sender,pwd) smtp.sendmail(sender,receiver,msg) time.sleep(3) smtp.quit() #退出郵件服務 except smtplib.SMTPException as e: print("e") #實現(xiàn)開機自啟動 #打包實現(xiàn)啟動 例:exe if __name__ == '__main__': # 1.拍照保存 GetPicture() # 2. 設置郵件格式 msg = SetMsg() # 3. 發(fā)送郵件 SendEmail(msg)
以上就是python實現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱的詳細內(nèi)容,更多關(guān)于python 調(diào)用攝像頭的資料請關(guān)注腳本之家其它相關(guān)文章!
- python通過opencv調(diào)用攝像頭操作實例分析
- Python+OpenCV圖像處理——打印圖片屬性、設置存儲路徑、調(diào)用攝像頭
- python調(diào)用攝像頭的示例代碼
- python使用opencv在Windows下調(diào)用攝像頭實現(xiàn)解析
- python+openCV調(diào)用攝像頭拍攝和處理圖片的實現(xiàn)
- Python OpenCV調(diào)用攝像頭檢測人臉并截圖
- Python OpenCV 調(diào)用攝像頭并截圖保存功能的實現(xiàn)代碼
- python調(diào)用攝像頭拍攝數(shù)據(jù)集
- Python基于opencv調(diào)用攝像頭獲取個人圖片的實現(xiàn)方法
- python調(diào)用攝像頭顯示圖像的實例
- 利用python調(diào)用攝像頭的實例分析
相關(guān)文章
python實現(xiàn)同一局域網(wǎng)下傳輸圖片
這篇文章主要為大家詳細介紹了python實現(xiàn)同一局域網(wǎng)下傳輸圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03Python中Matplotlib繪圖保存圖片時調(diào)節(jié)圖形清晰度或分辨率的方法
有時我們在使用matplotlib作圖時,圖片不清晰或者圖片大小不是我們想要的,這篇文章主要給大家介紹了關(guān)于Python中Matplotlib繪圖保存圖片時調(diào)節(jié)圖形清晰度或分辨率的相關(guān)資料,需要的朋友可以參考下2024-05-05Python利用pandas計算多個CSV文件數(shù)據(jù)值的實例
下面小編就為大家分享一篇Python利用pandas計算多個CSV文件數(shù)據(jù)值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04PyCharm 2020.2.2 x64 下載并安裝的詳細教程
這篇文章主要介紹了PyCharm 2020.2.2 x64 下載并安裝的詳細教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10Python ADF 單位根檢驗 如何查看結(jié)果的實現(xiàn)
這篇文章主要介紹了Python ADF 單位根檢驗 如何查看結(jié)果的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python中通過@classmethod 實現(xiàn)多態(tài)的示例
這篇文章主要介紹了Python中通過@classmethod 實現(xiàn)多態(tài),python中通常使用對象創(chuàng)建多態(tài)模式,python還支持類創(chuàng)建多態(tài)模式,下面通過一個例子展示它如何實現(xiàn)多態(tài),需要的朋友可以參考下2022-11-11