1.视频演示:

[项目分享]Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]_哔哩哔哩_bilibili

2.图片演示:

3.算法原理:

该博客提出的移动侦测即是根据视频每帧或者几帧之间像素的差异,对差异值设置阈值,筛选大于阈值的像素点,做掩模图即可选出视频中存在变化的桢。帧差法较为简单的视频中物体移动侦测,帧差法分为:单帧差、两桢差、和三桢差。随着帧数的增加是防止检测结果的重影。

差分法(Temporal Difference)

由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧或三帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。

4.算法流程图:

5.代码实现:

def threh(video,save_video,thres1,area_threh):cam = cv2.VideoCapture(video)#打开一个视频input_fps = cam.get(cv2.CAP_PROP_FPS)ret_val, input_image = cam.read()index=[]images=[]images.append(input_image)video_length = int(cam.get(cv2.CAP_PROP_FRAME_COUNT))input_image=cv2.resize(input_image,(512,512))ending_frame = video_lengthfourcc = cv2.VideoWriter_fourcc(*'XVID')out = cv2.VideoWriter(save_video,fourcc, input_fps, (512, 512))gray_lwpCV = cv2.cvtColor(input_image, cv2.COLOR_BGR2GRAY)gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)background=gray_lwpCV# es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))i = 0 # default is 0outt=[]while(cam.isOpened()) and ret_val == True and i <2999:## if i % 2==1:ret_val, input_image = cam.read()input_image=cv2.resize(input_image,(512,512))gray_lwpCV = cv2.cvtColor(input_image, cv2.COLOR_BGR2GRAY)gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)diff = cv2.absdiff(background, gray_lwpCV)outt.append(diff)#跟着图像变换背景tem_diff=diff.flatten()tem_ds=pd.Series(tem_diff)tem_per=1-len(tem_ds[tem_ds==0])/len(tem_ds)if (tem_per <0.2 )| (tem_per>0.75):background=gray_lwpCVelse:diff = cv2.threshold(diff, thres1, 255, cv2.THRESH_BINARY)[1]ret,thresh = cv2.threshold(diff.copy(),150,255,0)contours, hierarchy = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)#  contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)for c in contours:if (cv2.contourArea(c) < area_threh) | (cv2.contourArea(c) >int(512*512*0.3) ) :  # 对于矩形区域,只显示大于给定阈值的轮廓(去除微小的变化等噪点)continue(x, y, w, h) = cv2.boundingRect(c) # 该函数计算矩形的边界框cv2.rectangle(input_image, (x, y), (x+w, y+h), (0, 255, 0), 2) index.append(i)#  cv2.imshow('contours', input_image)#  cv2.imshow('dis', diff)out.write(input_image)images.append(input_image)i = i+1out.release()cam.release()return outt,index,images```
##调取函数
outt=threh('new_video.mp4','test6.mp4',25,3000)

6.系统整合:

下图完整源码&环境部署视频教程&自定义UI界面

参考博客《Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]》

7.参考文献:


  • [1]红外弱小目标检测算法综述[J]. 李俊宏,张萍,王晓玮,黄世泽. 中国图象图形学报. 2020(09)
  • [2]新型光电探测技术在精确制导武器上的应用研究(特约)[J]. 宋闯,姜鹏,段磊,孙剑峰,范之国. 红外与激光工程. 2020(06)
  • [3]基于FPGA的红外弱小目标检测算法[J]. 张延苏,吴滢跃. 红外技术. 2020(06)
  • [4]一种基于差分滤波的红外舰船目标检测方法[J]. 修炳楠,吕俊伟,鹿珂珂. 指挥与控制学报. 2020(02)
  • [5]激光干扰红外预警卫星的有效压制区研究[J]. 王枭,张宇令,李云成. 激光与红外. 2020(05)
  • [6]基于匹配滤波的Gm-APD激光雷达三维重构算法研究[J]. 马乐,陆威,姜鹏,刘迪,王鹏辉,孙剑峰. 红外与激光工程. 2020(02)
  • [7]基于改进候选区域网络的红外飞机检测[J]. 姜晓伟,王春平,付强. 激光与红外. 2019(01)
  • [8]红外搜索跟踪系统探测距离缩比测试方法[J]. 谢飞,周德召,胡磊力,杜保林. 电光与控制. 2019(04)
  • [9]红外成像/被动微波复合制导技术研究[J]. 夏团结,申涛,方珉,宋敏敏,刘会文. 红外技术. 2018(05)
  • [10]机载红外搜索跟踪系统有效探测区域研究[J]. 王芳,罗寰,王海晏,寇添,寇人可. 激光与红外. 2018(05)

基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]相关推荐

  1. Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]

    1.视频演示: [项目分享]Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]_哔哩哔哩_bilibili 2.图片演示: 3.明厨亮灶: 餐饮企业的厨房卫生状况一直饱受消 ...

  2. 基于Opencv的车距检测系统(源码&教程)

    1.研究背景 对本车前方车辆的识别及距离检测是计算机视觉技术在智能网联汽车中的一个重要内容.要想在错综繁杂的交通环境中实现无人驾驶,对行车环境中其他车辆信息的获取是十分重要的.因此,对本车前方车辆的识 ...

  3. 基于YOLOv7的芯片表面缺陷检测系统(源码&教程)

    1.项目背景: 目前随着电子领域的快速发展,芯片也已经成为日常生活中不可或缺的一部分.随着市场对芯片的需求不断增大,裸芯片表面缺陷检测任务的压力也越来越大.裸芯片表面的缺陷检测不仅能保证芯片成品的质量 ...

  4. Python基于OpenCV高空抛物检测系统[完整源码&部署教程]

    1.视频演示: [项目分享]Python基于OpenCV高空抛物检测系统[完整源码&部署教程]_哔哩哔哩_bilibili 2.图片演示: 3.算法原理: 参考该博客提出的移动侦测法,即是根据 ...

  5. Python基于Opencv的鱼群密度速度检测系统(源码&教程)

    1.研究背景 智慧渔业是大数据.物联网与人工智能等现代信息技术驱动下的渔业发展新模式,是水产养殖业供给侧结构性改革的重要方式,涉及养殖环境监测.生物环境监测与生物状态监测这几大方面的应用与需求.本文从 ...

  6. Python基于OpenCV的图像去雾算法[完整源码&部署教程]

    1.图片识别 2.视频展示 [项目分享]Python基于OpenCV的图像去雾算法[完整源码&部署教程]_哔哩哔哩_bilibili 3.算法原理 图像增强算法常见于对图像的亮度.对比度.饱和 ...

  7. 基于改进YOLOv5的挖机铲斗缺陷检测系统(源码&教程)

    1.研究背景 针对现有电铲斗齿检测方法存在实时性较差.误报率较高等问题,提出了一种基于机器视觉的电铲斗齿缺失检测方法.该方法利用红外热像仪采集铲斗图像,基于模板匹配原理对复杂背景下斗齿的目标区域进行准 ...

  8. Python基于CRNN&CTPN的文本检测系统(源码&教程)

    1.背景 文本是人类最伟大和最具影响力的发明之一,是人类智慧的结晶,是人类文化.思想传承的一种基本的表达方式和不可或缺的载体.在21世纪,文本与日常生活密切相关.描述.理解万事万物,表达情感,与他人交 ...

  9. [智慧防疫]Python基于YOLO的新冠社交距离检测系统[完整源码&部署教程]

    1.图片演示 2.视频演示 3.背景 美国和欧洲的许多城市现在都在谨慎地重新开放.人们被要求在外出时保持安全距离.但是人们照着做吗?城市对人们的安全距离是否符合规则进行评估并采取相应的行动是很重要的. ...

最新文章

  1. ping 原理与ICMP协议
  2. 懂数学人的都认同:数学的本质[关联]万物(二)
  3. AI指数评论:提防“路灯谬误”,开启全球多方对话
  4. Python中列表推导式同filter和map的比较
  5. .NET CoreCLR开发人员指南(上)
  6. 600. 不含连续1的非负整数
  7. go 列出已经安装的包_Go 安装教程
  8. android系统加载主题的流程,详解Android布局加载流程源码
  9. 随想录(推荐『步步惊芯 - 软核处理器内部设计分析』这本书)
  10. sql server 群集_SQL Server中的Microsoft群集
  11. 控制上网!!!(版本之1.1) 当前时间从网络取得。
  12. 关于#pragma warning 用法的研究
  13. 滑动门套滑动门css,CSS 实现滑动门的实例代码
  14. 关于另类BT下载的想法
  15. AK大神AE教程文字整编
  16. vc707(virtex7)led 实验例程
  17. 温度补偿计算公式_基于温度压力补偿计算的燃气表计量方法与流程
  18. QT做的小游戏,技术成长ing(莫名押韵_dog)
  19. GameOff2022参与有感
  20. BIOS设置u盘启动找不到u盘选项怎么办?

热门文章

  1. swiper实现匀速无缝滚动
  2. 49元的NB-IOT爆款定位器单品如何打造?
  3. Listview滑动(隐藏、显示)Bannner(topview)图
  4. 图片怎么转为html5,将图片转化为矢量并canvas化的容易工具(基于Node.js + HTML5 canvas)...
  5. 基于InceptionV3深度学习实现岩石图像智能识别与分类
  6. 关于广告投放 RTB 模式(实时竞价)的十个问题
  7. 自协商SGMII_SerDers与SGMII篇
  8. SDUSToj第十一次作业源代码格式问题
  9. html 多个分页连续打印机,web使用window.print()实现分页批量打印。
  10. 2021-2022学年广州市白云广外附中九年级第一学期期中英语试题