java - 检测灰度图像中的简单曲线和直线

标签 java javascript math image-processing image-recognition

我有一张图像,其中包含一组简单的灰度原始几何图形(曲线、“锯”线、椭圆、三 Angular 形、星形),由宽度约为 8-10 像素的线条绘制。

如何对图像进行统计分析?我至少需要以下两个参数:

  1. 锐 Angular 数
  2. 曲线数。

我已经尝试通过提取轮廓、缩小直到它们有边缘连接(即成为曲线)并通过微分函数分析它们来自己做,但是对于大图像来说太花时间了。

假设有某种曲线/Angular/Angular 锐度检测算法?

我需要的是一个开源框架(最好是 java/javascript)来做这些事情,或者至少是检测曲线/“锯”线的算法名称。

最佳答案

Hough transform可能对您识别曲线有帮助。如果您只需要计数,它应该可以正常工作。它可以推广到检测任何可以使用参数描述的几何形状,或任何使用模板匹配的形状。但是,这可以是 expensive .

对于尖 Angular ,可以使用Harris corner detection正如@Diego 在上述评论中提到的那样。

当然也可以查看 jfeaturelib ,它有助于从图像中提取特征(尽管如果您只想计算/检测它们,对于您的目的来说可能有点繁重)。

以下是一些可能对您有所帮助的实现:

您可能还想查看 ImageJ由 NIH 提供,有很多 Java 插件可能对您有所帮助。许多生物学家(比如我!)都使用它来检测图像特征,并且有数百个插件可用于几乎任何可以想到的目的。

There are also many helpful questions on SO .

关于java - 检测灰度图像中的简单曲线和直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23382931/

相关文章:

javascript - 如何摆脱 JavaScript 中的表单输入值缓存​​?

javascript - 根据circle1的速度计算两个圆接触的点

java - 使用 Google API 的 CLI 应用程序

java - 有没有办法用 spring boot 自动配置注册一个存储库基类?

javascript - Jquery 嵌套表创建干净的方法

javascript - 出于单元测试目的访问超出范围的方法

java - 计算矩阵行列式

javascript - 分配/分发随机数量

java - "NoClassDefFoundError: javax/xml/bind/DatatypeConverter"与 SQL Server JDBC

java - 如何检查uri指向的铃声是否存在?