我的应用程序将处理12位二进制图像,我是从一个相机。在jpeg中也显示了相同的图像。
任务是识别每个白色发光区域。
这4个区域作为一组随机出现在每幅图像中。可以假定,这4个白色区域总是从一个图像移动到另一个图像。与黑色或近黑色背景相比,每个点都具有非常高的强度。每个点实际上不是一个像素,而是一个14x14ROI。此外,图像的高度为200像素。
每个白色区域之间的距离总是固定的。
如果我应用CVMinMaxLoc(),我只会得到一个最亮的位置。
我如何识别每个区域?
发布于 2012-11-22 17:04:15
你能做的是:
threshold()
可以得到一个黑白图像,每个白区至少有一个白点.minMaxLoc()
获取第一个白色区域,然后使用floodFill()
将该白色区域涂成黑色。如果您的白色区域在threshold()
之后没有连接,则可以使用dilate()
使它们连接。
如果要检测白色区域的中心,也可以在步骤1之后使用erode()
。
https://stackoverflow.com/questions/13510710
复制相似问题