Image processing 从摄像机图像中检测圆心

Image processing 从摄像机图像中检测圆心,image-processing,ionic-framework,hough-transform,Image Processing,Ionic Framework,Hough Transform,因此,我正在开发一款Ionic应用程序,它使用手机摄像头检测织物上的圆圈,如下图所示: 其中最大尺寸为3x3网格,有4种不同颜色(浅蓝色、深蓝色、浅绿色和深绿色)。基本上,我将问题分为三个步骤: 得到每个圆的中心 获取每个圆中心的颜色 使用每个圆中心的位置,创建阵列的二维阵列表示 我的问题是找出实现第一步的最佳方法。我已经研究了Hough转换,但找不到非常好的Javascript资源。如果有比使用Hough变换更简单或更好的方法,我将非常感激。您可以使用分水岭算法进行图像分割,如中所述 在这种

因此,我正在开发一款Ionic应用程序,它使用手机摄像头检测织物上的圆圈,如下图所示:

其中最大尺寸为3x3网格,有4种不同颜色(浅蓝色、深蓝色、浅绿色和深绿色)。基本上,我将问题分为三个步骤:

  • 得到每个圆的中心
  • 获取每个圆中心的颜色
  • 使用每个圆中心的位置,创建阵列的二维阵列表示

  • 我的问题是找出实现第一步的最佳方法。我已经研究了Hough转换,但找不到非常好的Javascript资源。如果有比使用Hough变换更简单或更好的方法,我将非常感激。

    您可以使用分水岭算法进行图像分割,如中所述
    在这种类型的图像中,您可以执行以下操作:

  • 为了找到每个图案而设置颜色阈值
  • (可选)打开+关闭,以便在阈值结果不完美时稍微清洁图像
  • 连接组件标签(请参见联合查找算法)以分离每个组件
  • 然后你就有了所有的图案,所以你可以很容易地找到中心和颜色

  • 所以你链接到了OpenCV。这与离子型/角型兼容吗?请问该软件的用途是什么?如果这些斑点是为被摄像机检测而设计的,那么它们就是一个非常糟糕的设计。顺便说一句,从一个角度看,它们几乎都是圆。。。不太适合霍夫变换。你应该使用标记算法并使用它们的质心。每个模式代表一个故事。用户扫描点模式,并显示与该故事相关的模式。您不使用通用2d代码的具体原因是什么?或者使用不同的形状而不是不同的颜色也会大大提高鲁棒性。在角度/离子的环境下,我该如何做到这一点?什么库/技术与此方法兼容?几乎每个图像处理库都应该支持这些方法,我不使用ionic,但这些操作绝对是图像处理中的标准操作,并在大多数库中实现。我希望他们中的一些是兼容的,如小猪所说。