我必须使用 Aforge blob 提取方法提取红色标记图,但我无法提取该特定网格以读取它。
问问题
1719 次
2 回答
2
无需进一步使用 AForge 即可轻松解决此任务。
如果您的样本中的所有网格都具有相似的结构:即具有垂直-水平功能图形的同质网格,您可以使用以下算法:
如下图所示,计算垂直方向的白色像素密度。它只是每条水平线中所有 RGB 分量之和的归一化值(不知道它的名称。如果有人知道,请报告)。
您必须提取白色像素密度最低的 y 轴值,并忽略绿色椭圆中的 y 轴值。如果尚未建立此最小值,则还必须考虑绿色椭圆中的值。如果在考虑的 y 轴值中,图像右侧的白色像素太多,请忽略它。否则,恭喜!我们找到了直到直角的黑线段。
之后,必须重复此过程以进行下一个水平线检测,直到图像结束。
从已建立的水平线构建最终功能。
于 2012-09-21T14:15:45.540 回答
0
如果您只想将图形保留在网格中并删除所有其他线或线段,并且如果您的图像是您计划处理的所有图像的样本,那么我看到两个选项可供尝试:
1)如果没有图形线的区域的灰度阈值与图形线的灰度阈值存在差异,则使用该阈值并应用 Aforge.Net 的阈值 API 之一,如 IterativeThreshold。
2)您可以尝试AForge.Net的errosion API并迭代N次,直到除图形线之外的所有其他线都被侵蚀。如果图形线由于侵蚀而变浅,请在其顶部应用 Dillation。
于 2014-09-18T06:17:07.363 回答