我想做的是对一个简单的应用程序进行图像识别:
有联系吗?有什么暗示吗?有API吗?( thxs :)
发布于 2009-10-21 22:50:48
典型的python工具链是:
至于对形状的区分,我会通过观察背景的形状来获得它的轮廓。然后,我将使用角点检测算法(例如哈里斯)来检测角的数目。一个三角形有3个角,一个方形4个,一个笑脸都没有。这里是一条蟒蛇Harris角点检测的Scipy实现。
编辑:
正如您在评论中提到的,博客文章没有显示生成算法所需的高斯内核的函数。下面是来自西西烹饪书的这样一个函数的示例(很好的资源):
def gauss_kern(size, sizey=None):
""" Returns a normalized 2D gauss kernel array for convolutions """
size = int(size)
if not sizey:
sizey = size
else:
sizey = int(sizey)
x, y = mgrid[-size:size+1, -sizey:sizey+1]
g = exp(-(x**2/float(size)+y**2/float(sizey)))
return g / g.sum()发布于 2009-10-21 21:30:01
OpenCV有blob分析工具,它将为您最喜欢的模式识别算法提供关于形状的度量:)例如。当圆周比约为0.78时,矩形的面积/(高度*宽度)比为1.0。
发布于 2009-11-06 17:37:36
你指出几何图形是50x50px。如果的几何图形的尺寸和方向是固定的,那么就有一个经典的模板匹配问题,适合于相关法。您可以在原始图像或边界检测输出上应用模板匹配。
否则,如果大小(比例)和/或方向是任意的,则可以应用Fourier描述符。这些描述子是旋转和尺度不变量。
所有这些方法都可以使用OpenCV、NumPy或SciPy进行编码。
https://stackoverflow.com/questions/1603688
复制相似问题