首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用cvMinMaxLoc ()识别白色区域

使用cvMinMaxLoc ()识别白色区域
EN

Stack Overflow用户
提问于 2012-11-22 10:32:16
回答 1查看 692关注 0票数 0

我的应用程序将处理12位二进制图像,我是从一个相机。在jpeg中也显示了相同的图像。

任务是识别每个白色发光区域。

这4个区域作为一组随机出现在每幅图像中。可以假定,这4个白色区域总是从一个图像移动到另一个图像。与黑色或近黑色背景相比,每个点都具有非常高的强度。每个点实际上不是一个像素,而是一个14x14ROI。此外,图像的高度为200像素。

每个白色区域之间的距离总是固定的。

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

我如何识别每个区域?

EN

回答 1

Stack Overflow用户

发布于 2012-11-22 17:04:15

你能做的是:

  1. 使用threshold()可以得到一个黑白图像,每个白区至少有一个白点.
  2. 在阈值图像上:应用minMaxLoc()获取第一个白色区域,然后使用floodFill()将该白色区域涂成黑色。
  3. 重复步骤2,直到得到所有的白色区域。(您会发现每个白色连接组件一次,因为您将每一个黑色。)

如果您的白色区域在threshold()之后没有连接,则可以使用dilate()使它们连接。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13510710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档