使用通用网络摄像头进行对象检测
以下是我想尽可能少地努力解决的任务(最好使用QT&C ++或Java):我想使用网络摄像头视频输入来检测相机镜头前是否有(或更多)机箱或不。 场景可以从“清晰”变为“镜头前有一个箱子”,并且在凸轮将其视频信号传送给我的应用程序时返回。 对于原型测试/学习,我有2-3个“空”场景图像和2-3个带有一个或多个箱子的图像。
你知道如何解决这个问题吗? 我发现了OpenCV,但是这个框架太笨重了吗? 我是计算机视觉领域的新手。 这通常是一项艰巨的任务,还是简单而强大,可以检测活动饲料中凸轮前方是否存在障碍物? 您的专家意见深表感谢!
这是我听说过的一种方法,可能会取得一些成功:
您也可以考虑使用第二个直方图来测量图像每一行上的像素。
显然这是一个相当简单的方法,并且高度依赖于“简单”输入; 即对于空白背景具有“硬”边缘的普通盒子(最好是与盒子形成鲜明对比的背景)。
你不需要一个完整的计算机视觉库来检测相机前面是否有箱子或没有箱子。 您可以拍摄一张快照并制作颜色直方图(简单)。 要捕捉快照,请看看这里:
http://msdn.microsoft.com/en-us/library/dd742882%28VS.85%29.aspx
这里有许多变量,包括环境照明和视场中任何其他活动的任何可能变化。 看看如何实现一个Canny边缘检测器(OpenCV以及Intel Performance Primitives也可以)来查找感兴趣形状的轮廓。 如果你知道盒子的位置,你可以将感兴趣区域的像素相加。 如果盒子可以出现在视野的任何地方,这是更具挑战性的。
链接地址: http://www.djcxy.com/p/39497.html上一篇: Object detection with a generic webcam
下一篇: Animate CAShapeLayer path from old value to new value in Swift