课件0907-物联网应用_第1页
课件0907-物联网应用_第2页
课件0907-物联网应用_第3页
课件0907-物联网应用_第4页
课件0907-物联网应用_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网应用——结合AIGC编写视频监控程序制作:课程编写团队出版社:机械工业出版社《Python编程基础与应用》配套课件本课件为《Python编程基础与应用(第2版)》配套教学资源,由编写团队精心打造。为便于教学使用,团队同步提供了丰富的辅助材料,涵盖微课视频、教学课件、实训手册、习题答案、课程标准及程序源代码等。同时,教材配套超星教学示范包,支持一键克隆为网络在线课程,助力高效开展线上线下混合式教学。欢迎联系出版方订购使用。

书名:《Python编程基础与应用(第2版)》出版社:机械工业出版社主编:蓝永健、陈冬冬副主编:蔡德琛、朱海鑫、邓爱玲+contents目录准备工作OpenCV的安装及验证安装OpenCV的功能和简单用法调用摄像头做实时视频监控简单的实时视频监控项目准备工作01在开始前,需要准备一台高质量的摄像头和安装OpenCV库。作为教学实验可以直接使用笔记本电脑的摄像头,或者准备一个USB接口的外围摄像头,或者接入局域网的网络摄像头。自行连接到电脑上。准备工作OpenCV的安装及验证安装02OpenCV的安装安装OpenCV可以通过pip命令轻松完成。#安装OpenCVpipinstallopencv-python#如果简化版,使用阿里镜像pipinstallopencv-python-headless#或者可以安装带有contrib模块的版本pipinstallopencv-contrib-pythonOpenCV的安装安装OpenCV可以通过pip命令轻松完成。#安装OpenCV,使用阿里镜像pipinstallopencv-python–i/pypi/simple#如果简化版,使用阿里镜像pipinstallopencv-python-headless–i/pypi/simple#或者可以安装带有contrib模块的版本,使用阿里镜像pipinstallopencv-contrib-python–i/pypi/simple验证安装importcv2#输出已安装OpenCV的版本print(cv2.__version__)#如果没有错误,并且能看到版本号,则表示OpenCV已成功安装。OpenCV的功能和简单用法03OpenCV的简介OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习库,支持多种编程语言(如C++、Python、Java等),广泛应用于图像处理、物体识别、人脸检测、视频分析等领域。OpenCV的简介为什么会有OpenCV?计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:1、研究代码(慢,不稳定,独立并与其他库不兼容)2、耗费很高的商业化工具(比如Halcon,MATLAB+Simulink)3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。OpenCV的主要功能图像处理滤波(模糊、锐化等)几何变换(旋转、缩放、透视矫正)色彩空间转换(RGB、HSV、灰度化)边缘检测(Canny、Sobel)直方图均衡化特征检测与匹配角点检测(Harris、Shi-Tomasi)特征描述(SIFT、SURF、ORB)模板匹配OpenCV的主要功能目标检测与识别人脸检测(Haar级联、DNN)物体识别(YOLO、SSD)二维码/条形码识别视频分析运动估计(光流法)背景减除(移动物体检测)视频跟踪(KCF、MOSSE)OpenCV的主要功能3D重建立体视觉(深度图生成)相机标定(校正畸变)机器学习支持SVM、KNN、神经网络等算法举例:读取/显示/保存图像importcv2#读取图像img=cv2.imread("image.jpg")#显示图像cv2.imshow("WindowTitle",img)cv2.waitKey(0)#等待按键cv2.destroyAllWindows()#保存图像cv2.imwrite("output.jpg",img)举例:转换为灰度图gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)举例:边缘检测(Canny)edges=cv2.Canny(gray,100,200)#阈值可调举例:人脸检测(Haar级联)face_cascade=cv2.CascadeClassifier(cv2.data.haarcascades+"haarcascade_frontalface_default.xml")faces=face_cascade.detectMultiScale(gray,scaleFactor=1.1,minNeighbors=5)#绘制检测框for(x,y,w,h)infaces:cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)举例:视频捕获(摄像头))cap=cv2.VideoCapture(0)#0表示默认摄像头whileTrue:ret,frame=cap.read()ifnotret:break

cv2.imshow("Camera",frame)ifcv2.waitKey(1)==ord('q'):#按Q退出

breakcap.release()cv2.destroyAllWindows()举例:绘制几何图形#画矩形、圆形、文字cv2.rectangle(img,(50,50),(200,200),(0,255,0),2)cv2.circle(img,(300,300),50,(0,0,255),-1)#-1表示填充cv2.putText(img,"Hello",(100,100),cv2.FONT_HERSHEY_SIMPLEX,1,(255,255,255),2)调用摄像头做实时视频监控04步骤1:撰写AIGC提示词结合PyCharm和智能编码辅助工具“通义灵码”进行代码的编写。在PyCharm的“通义灵码”助手中提问的参考问题如下。使用Python编程语言,使用OpenCV库,调用摄像头做实时视频监控,写出Python代码。步骤2:“通义灵码”助手的反馈步骤3:整理“通义灵码”生成的代码(1)importcv2#打开默认摄像头(通常为0号摄像头)cap=cv2.VideoCapture(0)#检查摄像头是否成功打开ifnotcap.isOpened():print("Erroropeningcamera.")exit(-1)步骤3:整理“通义灵码”生成的代码(2)whileTrue:

#读取一帧视频

ret,frame=cap.read()

#如果读取成功,`ret`将为Trueifnotret:break

#将帧转换为BGR到灰度(可选,根据需求决定是否进行转换)

gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)#显示帧

#cv2.imshow('CameraFeed',gray)#灰度

cv2.imshow('CameraFeed',frame)#彩色

#按'q'键退出

ifcv2.waitKey(1)&0xFF==ord('q'):break步骤3:整理“通义灵码”生成的代码(2)#释放摄像头资源并关闭所有窗口cap.release()cv2.destroyAllWindows()步骤4:运行调试代码编写完成后,再运行测试该Python程序,它会自动调用摄像头,并一直呈现实时的视频画面简单的实时视频监控项目05案例描述视频监控在现代社会中扮演着至关重要的角色。它不仅可以提供实时的安全监控,防止犯罪活动,还能用于交通管理、人员监控等多种场景。通过视频监控,人们能够远程观察、记录并分析特定区域的情况,从而做出及时响应和决策。Python程序员小刘要为某个企业的生产车间开发一个视频监控系统,要求能实现视频的实时监控,并能自动保存监控视频。案例分析本案例主要使用Python和OpenCV编程来调用USB摄像头以实现视频监控,然后把视频按指定的文件命名规则自动保存为视

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论