首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像特征提取

图像特征提取
EN

Stack Overflow用户
提问于 2012-02-21 20:22:19
回答 2查看 2.3K关注 0票数 3

我有一个像this one这样的视觉标记和一个用Java语言编写的斑点检测算法。如何提取图像的区域,以便可以分别对每个区域运行斑点检测算法,以便可以分别检测1、1、3个斑点。

提前谢谢你!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-22 11:42:05

这是个有趣的侦测游戏。你需要一些形态学工具来解决这个问题。

由于您的目标是检测有效的d-touch图片,因此您可能希望以不同的方式组织您的分析。例如,使用Mathematica:

通过填充图像的空洞并统计连通分量数来检测黑区是否包围了至少3个白区:

代码语言:javascript
复制
Max@MorphologicalComponents[
        FillingTransform[DeleteBorderComponents@img]] >= 3

检测这些白色区域中的一半是否包含一个或多个黑色区域可以通过计算每个白色区域内的空洞来完成:

代码语言:javascript
复制
comp = ComponentMeasurements[DeleteBorderComponents@img, "Holes"]; 
2*Count[comp, _ -> n_ /; n > 0] >= Length@comp

检测是否有更多的嵌套,可以通过查询封装组件的数量来实现:

代码语言:javascript
复制
Count[
  ComponentMeasurements[DeleteBorderComponents@img, "EnclosingComponentCount"],
  _ -> n_ /; n > 0] == 0

上面的一些操作在Java中可能很难实现。我将不考虑这个问题--有趣的部分已经完成了!

票数 2
EN

Stack Overflow用户

发布于 2012-02-22 01:19:31

不确定你到底需要完成什么。斑点分析本身应该提取“区域”。对目标图像中的对比暗物体或“斑点”进行分类,可以给出你需要的任何目标区域。例如,可以基于大小、形状、颜色、位置、偏心率、长轴/短轴、与父斑点的子关系等的某种组合来对对象进行分类,然后根据您感兴趣的特征进行选择。

也许您需要一种更可靠的blob分析算法来返回更复杂的blob数据。

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

https://stackoverflow.com/questions/9377539

复制
相关文章

相似问题

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