如何使用OpenCV区分两个拍摄目标

问题描述 投票:0回答:1

[让我开始说,我是图像识别的完全业余爱好者,我正在尝试使用Python中的OpenCV完成我的第一个任务。我目前真的很挣扎,因此我来这里寻求一些建议或任何一般帮助,让我走上正确的道路。

我目前正在尝试做什么:

我的目标是识别用户上传的拍摄目标图像,并将其与两个拍摄目标模板之一(图像下方提供)进行比较。我的应用程序随后将根据其匹配的模板来计算该射击目标,并为用户提供他/她的射击的准确分数(基于距目标中心的毫米数)。这只是一个长期目标。现在,我只是想弄清楚如何将上传的目标图像与我的模板区分开。

拍摄目标的例子:

正如我提到的,我有两个射击目标模板:target 1target 2

然后用户上传必须与模板之一匹配的目标。

Example that matches target 1

Example that matches target 2

[只要上传的射击目标与任何模板都不匹配,应用程序都应该告诉用户,而不要继续进行计算。

到目前为止我做了什么并尝试过:

[对于初学者,我认为从背景中删除所有内容并按拍摄目标裁切图像将是有益的,所以我做到了。 (我以为如果除去所有背景干扰,就可以轻松比较这两个图像,但是后来我发现这实际上根本不准确)。

[之后,我尝试计算黑色与目标内其他颜色(无背景)的百分比,但是再次发现这并不准确,因为射击者可以拍摄很多黑色然后百分比会波动。另外,我无法确定它是否是模板之一,因为另一个完全不同的拍摄目标的中间可能有相同数量的黑色。

比较这两个图像时,我尝试了很多方法(直方图,使用蛮力进行特征匹配,模板匹配),但这些方法似乎都不准确或不可用(我可能做错了,这是可能性)。

在所有这些失败之后,我发现最好的解决方案可能是比较射击目标内的圆圈或黑色中间圆圈内的数字,但我不知道如何正确地做到这一点。] >

你们对如何解决这个问题有任何想法吗?我非常感谢您为解决我的问题提供的任何帮助或推动。代码示例受到高度赞赏,并且会让我感到高兴。

最诚挚的问候。

[让我开始说,我是图像识别的完全业余爱好者,我正在尝试使用Python中的OpenCV完成我的第一个任务。我目前真的很挣扎,因此来到这里...

python opencv image-recognition
1个回答
0
投票

目标似乎仅在得分带(环)4、5和6上有所不同。因此,我将尝试着重于这些领域。

© www.soinside.com 2019 - 2024. All rights reserved.