首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python图像识别

python图像识别
EN

Stack Overflow用户
提问于 2009-10-21 21:13:19
回答 4查看 38.3K关注 0票数 36

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

  1. 给定图像(500 X 500) pxs (1色背景)
  2. 该图像将只有一个几何图形(三角形或方形或小眼睛面:)的(50x50) pxs。
  3. python将对图形进行识别,并显示几何图形。

有联系吗?有什么暗示吗?有API吗?( thxs :)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-21 22:50:48

典型的python工具链是:

  • PIL读取您的图像
  • 将它们转换为Numpy数组
  • 使用西皮的图像过滤器(线性和秩形态)实现您的解决方案。

至于形状的区分,我会通过观察背景的形状来获得它的轮廓。然后,我将使用角点检测算法(例如哈里斯)来检测角的数目。一个三角形有3个角,一个方形4个,一个笑脸都没有。这里是一条蟒蛇Harris角点检测的Scipy实现

编辑:

正如您在评论中提到的,博客文章没有显示生成算法所需的高斯内核的函数。下面是来自西西烹饪书的这样一个函数的示例(很好的资源):

代码语言:javascript
复制
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()
票数 32
EN

Stack Overflow用户

发布于 2009-10-21 21:30:01

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

票数 10
EN

Stack Overflow用户

发布于 2009-11-06 17:37:36

你指出几何图形是50x50px。如果的几何图形的尺寸和方向固定的,那么就有一个经典的模板匹配问题,适合于相关法。您可以在原始图像或边界检测输出上应用模板匹配。

否则,如果大小(比例)和/或方向是任意的,则可以应用Fourier描述符。这些描述子是旋转和尺度不变量。

所有这些方法都可以使用OpenCV、NumPy或SciPy进行编码。

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

https://stackoverflow.com/questions/1603688

复制
相关文章

相似问题

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