首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >识别手写形状

识别手写形状
EN

Stack Overflow用户
提问于 2011-05-26 21:52:23
回答 5查看 3K关注 0票数 10

我想要识别手写形状,并找出它可能是集合中的哪个形状。简单地说,如果我绘制一个三角形,应用程序应该将其识别为三角形。我如何使用C#或java来做到这一点,任何帮助都是感激不尽的。

提前谢谢。

这些是我需要识别的一些形状

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-26 22:04:37

为此,您可以尝试使用OpenCVEmguCV是用于.net的OpenCV的一个很好的包装器。观看ShapeDetection演示(包含在OpenCV中)

票数 2
EN

Stack Overflow用户

发布于 2011-05-30 14:10:23

如果你想“滚你自己的”,我会建议以下步骤:

首先,对图像进行骨架化(细化图像,直到所有的线条都有一个像素粗)。有很多方法可以做到这一点,这是一个经过充分研究的问题。谷歌获取更多信息。

现在,从一个黑色像素开始,逐一浏览并勾画出图像的轮廓。您可以将这些线段添加到勾勒出形状的线段列表中(每个线段将是从一个像素到其相邻像素的一条简单的线)。现在,您拥有了形状的轮廓,它是一个多边多边形。

(可能的步骤是:通过将每个顶点拉近其相邻顶点的平均值来平滑轮廓)

现在,您将使用角点检测算法来查找角点(查看此处:http://visual.ipan.sztaki.hu/corner/node7.html)。

这应该足以识别您列出的形状。

如果想变得更聪明,还可以确定角之间存在的边的类型。如果两个角之间的线段保持在它们之间的直线的某个阈值内,则将其视为一条“直线”边。如果没有,你就把它当做一个弯曲的边缘。

使用角+直/弯边缘,您可能可以很好地检测到您正在寻找的任何形状。

票数 2
EN

Stack Overflow用户

发布于 2011-05-26 21:56:51

我建议使用neural network

你可以教它形状是什么样子的。

这是一个库,例如:

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

https://stackoverflow.com/questions/6139623

复制
相关文章

相似问题

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