我的问题是,类似这样的: OpenCV: Detect blinking lights in a video feedOpenCV的检测闪烁的灯光
我有一个LED灯,和我的相机以30fps运行。在每一帧,我都知道灯是否亮。与上一个问题类似,我也想获得该点的位置。
我现在不知道如何使用OpenCV进行这种情况下(我是新的)。如果光线只是一个像素,那很容易,但是如果背景噪音和LED的尺寸相当大,我怎么才能检测出图像中最大的光源。我必须假设我无法自由设置曝光(在iPhone上)。
我是新来的图像处理,所以我会怎么做呢?
我的意思是说,光线本身可能不是唯一的白色区域。我做了cVthreshold,但问题是要设置阈值。这就是为什么我的问题是检测到最大的(区域方面)光源,因为可能有更多的光源。 openCV中是否有这样的功能来执行这种“对象”检测? – nambrot 2012-01-16 20:57:41
好吧,你可以尝试,在阈值之后,申请cvfindcontours。它返回所有白色区域的轮廓列表(轮廓是cvpoints列表)。用这个你可以找到轮廓点多的区域,有一个函数来计算区域double contourArea(const Mat&contour),所以你可以看到最大的白色区域(如果大于你可以假设的某个值是) – andrea 2012-01-16 22:01:08
谢谢,这对我有很大的帮助。我会尽力实现这一点。同时你得到这个问题:) – nambrot 2012-01-19 03:51:40