裸露土方智能识别算法通过opencv+python网络模型框架算法,裸露土方智能识别算法能够准确识别现场土堆的裸露情况,并对超过40%部分裸露的土堆进行抓拍预警。此次算法用到的Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和代码可读性。它使程序员能够用更少的代码行表达思想,而不会降低可读性。与C / C++等语言相比,Python速度较慢。也就是说,Python可以使用C / C++轻松扩展,这使我们可以在C / C++中编写计算密集型代码,并创建可用作Python模块的Python包装器。这给我们带来了两个好处:首先,代码与原始C / C++代码一样快(因为它是在后台工作的实际C++代码),其次,在Python中编写代码比使用C / C++更容易。OpenCV-Python是原始OpenCV C++实现的Python包装器。
OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库――尽管也可以使用某些外部库。
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库,是由Intel公司俄罗斯团队发起并参与和维护,支持与计算机视觉和机器学习相关的众多算法,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,该程序库也可以使用英特尔公司的IPP进行加速处理。
OpenCV包含如下几个部分∶
. Cxcore:一些基本函数(各种数据类型的基本运算等)。
. Cv∶图像处理和计算机视觉功能(图像处理,结构分析,运动分析,物体跟踪,
模式识别,摄像机定标)
· MI:机器学习模块,目前内容主要为分类器。
. Cvaux:一些实验性的函数(ViewMorphing,三维跟踪,PCA,HMM)
. Highgui:用户交互部分,(GUI,图象视频l/O,系统调用函数)
在python中使用需要安装该库并导入: 安装:pip install opencv-python 导入:import cv2
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
#—帧帧读取摄像头内容
ret,frame = cap.read()
#显示转换后的颜色到窗口中
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'): # 按 q键退出
break
#释放capture资源
cap.release()
cv2.destroyAllwindows ()
摄像头捕获视频
cv2.VideoCapture()
0︰默认计算机默认摄像头,若填入本地视频地址的字符串,则读取本地视频
return:VideoCapture类
cap = cv2.Videocapture(0)
<VideoCapture 0×10bd83ed0>
cap.read():读取摄像头捕获内容
return:ret true or false, frame:每—帧数据