用opencvpython检测复杂形状

2024-05-23 15:20:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个项目,在这个项目中,我需要能够实时看到所有4个扑克牌符号之间的区别:心、黑桃、钻石和梅花。这意味着角度、照明和到符号的距离不断变化(因此,基于轮廓区域检测对象将不是一个选项)

所以当我在相机前拿着一个心形符号时,我试图在里面画“心”这个词。如果我用黑桃做同样的事情,我希望它写“黑桃”,等等

我试过用各种不同的方法来做这件事,但所有的尝试都失败了,或者没有达到我想要的效果

我尝试过的方法:

  • 哈卡斯卡德斯
  • 模板匹配,由于可能的旋转而不起作用
  • 颜色检测,因为每种颜色有2个符号,所以只完成一半的工作
  • 特征匹配:this tutorial不起作用,因为符号没有足够的细节来找到关键点

如果需要的话,我可以添加这些尝试的源代码,但我认为这不会增加任何价值,因为它们并没有真正让我受益

我正在使用的图像:

enter image description here


Tags: 项目对象方法区域距离颜色选项符号
1条回答
网友
1楼 · 发布于 2024-05-23 15:20:15

既然你处理的是相对较低复杂度的符号,为什么不尝试轮廓匹配成形呢?您可能需要适应一些更复杂的情况,但我认为这可能是第一个好方法:

Contours : More Functions

Structural Analysis and Shape Descriptors

请记住,您还可以在应用程序中使用颜色信息。无论如何,我们也来看看this

相关问题 更多 >