gpt4 book ai didi

opencv - 使用cvMinMaxLoc()识别白色区域

转载 作者:行者123 更新时间:2023-12-02 17:53:32 26 4
gpt4 key购买 nike

我的应用程序将处理从相机获取的12位二进制图像。相同的图像在jpeg中显示如下。

任务是识别每个白色发光区域。
这四个区域一束随机出现在每个图像中。
可以假设这四个白色区域始终从一个图像移动到另一图像。
与黑色或接近黑色背景相比,每个点的强度都很高。每个点实际上不是一个像素,而是14 x 14的ROI。
图像的高度也是200像素。
每个白色区域之间的距离始终是固定的。

如果我应用CVMinMaxLoc();我只会得到一个最亮的位置。

如何识别每个地区?

最佳答案

您可以执行以下操作:

  • 使用threshold()获得黑白图像,每个白色区域至少有一个白点。
  • 在带阈值的图像上:应用minMaxLoc()获取第一个白色区域,然后使用floodFill()通过将其涂成黑色来摆脱该白色区域。
  • 重复步骤2,直到获得所有白色区域。 (您会发现每个白色连接的组件一次,因为您绘制了每个黑色。)

  • 如果 threshold()之后没有连接白色区域,则可以使用 dilate()使其连接。

    如果要检测白色区域的中心,还可以在步骤1之后使用 erode()

    关于opencv - 使用cvMinMaxLoc()识别白色区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13510710/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com