python图像识别

pan*_*ore 36 python algorithm image image-processing python-imaging-library

我想要做的是一个简单的应用程序的图像识别:

  1. 给定图像(500 x 500)pxs(1色背景)
  2. (50x50)pxs图像只有1个几何图形(三角形或正方形或碎片:)).
  3. python将对图形进行识别并显示几何图形.

任何链接?任何提示?任何API?thxs :)

Iva*_*van 32

一个典型的python工具链将是:

区分的形状,我会通过看背景的形状得到它的轮廓.然后我会使用角点检测算法(例如Harris)检测角点的数量.三角形有3个角,4个正方形,没有笑脸.这是使用Scipy进行Harris角点检测的python 实现.

编辑:

正如您在评论中提到的那样,博客文章没有提供产生算法中所需的高斯内核的函数.这是Scipy Cookbook(很棒的资源顺便说一句)中这样一个函数的例子:

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()
Run Code Online (Sandbox Code Playgroud)


Har*_*riv 10

OpenCV具有blob分析工具,它将为您提供有关您可以为您喜欢的模式识别算法提供的形状的指标:)例如.当圆的比率约为0.78时,矩形的面积/(高度*宽度)为1.0.

  • 0.78的比率并不总是保证它将是一个圆圈.可能有许多其他模式可以满足0.78的价值. (2认同)