通过“简化”它们来比较两个图像

时间:2012-02-02 23:02:10

标签: c# .net image-processing aforge

我正在使用AForgeNet从视频流中获取扑克牌。我抓住整张卡片以及卡片实际等级的部分,我的问题是模板匹配对我来说并不是真正有效,因为它要么敏感,要么犯很多错误。

所以我有这个想法将图像拆分成这样的部分:

enter image description here

如果一个部分的黑色超过50%,它将表示1,否则为0.这将生成一个二进制表示,我可以将其与我的“模板”进行比较。作为一个游戏套牌,它唯一的角色:AKQJ1098765432,我认为它们是独一无二的,很少能够得到工作。如果图像关闭1-2像素,那就不重要了。

我怀疑有类似的东西,我可以重用,任何想法吗?

2 个答案:

答案 0 :(得分:2)

您可以通过缩小创建图像指纹 - 至少不小于原始大小的10% - 使用插值。对于黑白图像,指纹将呈灰色阴影。如果你减去两个图像的指纹,你会得到它们相似性的度量 - 你可以通过实验确定一致的确定匹配的阈值。

答案 1 :(得分:2)

我认为更强大的解决方案是从卡号和排名中提取比例和旋转不变特征。例如,您可以尝试image moments

提取这些图像特征后,您可以训练一些分类器(例如神经网络)来预测卡号和排名。