吴俊杰“在线数字气象站”-马峰老师使用摄像头拍照并实时传送至邮箱
(2023-03-30 07:24:37)分类: 研究-学习 |
起源于课标的综合性学习活动,学科融合的一个案例。
success,img=video.read()
cv2.imshow('hello',img)
cv2.imwrite('good.jpg',img)
cv2.waitKey(1000)
success,img=video.read()
cv2.imshow('hello',img)
cv2.imwrite('good'+str(num)+'.jpg',img)
cv2.waitKey(1000)
num+=1
print("已打开视像头")
ret_flag, Vshow = cap.read()
# cap.read()返回两个值,第一个值为布尔值,如果视频正确,那么就返回true, 第二个值代表图像三维像素矩阵
frame = cv2.flip(Vshow, 1)
cv2.imshow('123',frame )
k = cv2.waitKey(100)
if k == ord(s):
print(cap.get(3))
print(cap.get(4))
elif k == ord(q):
break
# print(摄像头捕获成功)
# pass
提到学科大概念中的数据的概念。自主生成数据。通过多人联合、持续收集,形成跟生活和学习密切相关的大数据。这里面涉及到了数据安全的要求。
借助于不同的软硬件设备,搜集数据的方式有很多种。本次是利用现有的温湿度计,通过摄像头拍照,定时采集数据,保存至硬盘,并可以在线传输至指定邮箱,实现信息的汇总和保存。
主要应用到了python中的opencv-python库,通过mind+可以很方便的实施(库已经自动安装)
主要代码如下:
import cv2
video=cv2.VideoCapture(0 , cv2.CAP_DSHOW)
#win7下的视频编码格式,特别要用到cv2.CAP_DSHOW
print(video)
success,img=video.read()
cv2.imshow('hello',img)
cv2.waitKey(1000000000)
'''
import cv2
video=cv2.VideoCapture(0 , cv2.CAP_DSHOW)
while True:
'''
import cv2
video=cv2.VideoCapture(0 , cv2.CAP_DSHOW)
num=1
while True:
# cv2.imwrite('good.jpg',img)
import cv2
import numpy as np
import time
s = "q"
q= "x"
cap = cv2.VideoCapture(0,cv2.CAP_DSHOW)
# cap.set()设置摄像头参数:3:宽 4:高
cap.set(3, 640)
cap.set(4, 480)
while (cap.isOpened()): #cap.isOpened()返回布尔值,来查看是否摄像头初始化成功
# time.sleep(1)
cap.release()
cv2.destroyAllWindows()
==============
马老师提供代码:
import cv2 import time import smtplib from
email.mime.image import MIMEImage from email.mime.text import
MIMEText from email.mime.multipart import MIMEMultipart folder =
'D:/bbb/' # 定义图片路径(Mind+中运行时需要指定到固定位置) def GetPicture():#拍照保存图像
camera = cv2.VideoCapture(0) success,img = camera.read()
cv2.imshow("camera",img) cv2.imwrite(folder + name +".jpg",img)
cv2.waitKey(1000) camera.release()#释放摄像头
cv2.destroyWindow("camera")# 关闭窗口 def setMsg():# 邮件格式设置 msg =
MIMEMultipart('mixed') msg['Subject'] = '定时照片' msg['From'] = sender
#发送方 msg['To'] = receiver #接收方 #邮件正文 text = '定时拍的共享照片' text_plain =
MIMEText (text,'plain','utf-8') msg.attach(text_plain) #图片附件
SendImageFile = open("D:/bbb/"+ name + ".jpg",'rb').read() image =
MIMEImage(SendImageFile) image['content-Disposition'] =
'attachment;filename=photo.jpg' msg.attach(image) return
msg.as_string() def SendEmail(msg):# 发送邮件 smtp = smtplib.SMTP()
smtp.connect(host) smtp.login(sender,pwd)
smtp.sendmail(sender,receiver,msg()) smtp.quit() pwd =
'dxxxxxxxxxhh'# 授权码 host = 'smtp.qq.com' port = 25 sender =
'877156811@qq.com' receiver = '846032001@qq.com' while(True): name
= time.strftime("%Y%m%d-%H%M%S",time.localtime()) GetPicture() msg
= setMsg SendEmail(msg) cv2.waitKey(10000)