通过Python和OpenCV实现目标数量监控-创新互联
今天我们将利用python+OpenCV实现对视频中物体数量的监控,达到视频监控的效果,比如洗煤厂的监控水龙头的水柱颜色,当水柱为黑色的超过了一半,那么将说明过滤网发生了故障。当然不仅如此,我们看的是图像视频处理的技巧,你也可以将项目迁移到其他地方等,这仅仅是一个例子而已。我们知道计算机视觉中关于图像识别有四大类任务:
创新互联公司于2013年创立,先为邳州等服务建站,邳州等地企业,进行企业商务咨询服务。为邳州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。。
分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。
定位-Location:解决“在哪里?”的问题,即定位出这个目标的的位置。
检测-Detection:解决“是什么?在哪里?”的问题,即定位出这个目标的的位置并且知道目标物是什么。
分割-Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”的问题。
而定位不仅需要找到物体的位置在哪里,还需要能够统计目标的数目以及物体状态。
除了图像分类以外,目标检验要解决问题的架构难题是:
1.目标有可能经常出现在影像的任何方位;
2.目标有各种有所不同的尺寸;
3.目标有可能有各种有所不同的外形。
如果用矩形框来界定目的,则长方形有有所不同的清晰度。由于目的的清晰度有所不同,因此使用经典之作的转动视窗+影像图形的计划解决问题标准化目的检验难题的生产成本太低。近几年来,目标检测算法取得了很大的突破。比较流行的算法可以分为两类,一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CNN等),它们是two-stage的,需要先算法产生目标候选框,也就是目标位置,然后再对候选框做分类与回归。而另一类是Yolo,SSD这类one-stage算法,其仅仅使用一个卷积神经网络CNN直接预测不同目标的类别与位置。第一类方法是准确度高一些,但是速度慢,但是第二类算法是速度快,但是准确性要低一些。那么今天我们的项目并不会太多的讲解各种算法,而是我们的核心主题,目标数量识别。
那么我们将如何进行实现呢
多说无益,下面可以开始实现我们的项目。
首先导入相关的库
import cv2 from PIL import Image from PIL import ImageDraw,ImageFont import numpy as np
网页名称:通过Python和OpenCV实现目标数量监控-创新互联
新闻来源:http://hbruida.cn/article/hgggj.html