Java中圆形图像的OpenCV模板匹配
我不总是有正方形/矩形的图像,有时我也应该匹配圆形图像。下面是两张图片。Ball是模板图像,第二个是搜索模板的源。我可以使模板的背景透明,但这会产生错误,将其设置为白色会降低比赛分数,因为正如您在源图像上看到的,球周围没有白色。这只是两个例子。你有什么建议/解决方案吗
你可以在下面搜索框中键入要查询的问题!
我不总是有正方形/矩形的图像,有时我也应该匹配圆形图像。下面是两张图片。Ball是模板图像,第二个是搜索模板的源。我可以使模板的背景透明,但这会产生错误,将其设置为白色会降低比赛分数,因为正如您在源图像上看到的,球周围没有白色。这只是两个例子。你有什么建议/解决方案吗
# 1 楼答案
没关系,您仍然可以使用
matchTemplate()
并获得优异的效果:You can find a decent tutorial on OpenCV's documentation。顺便说一句,这是这里分享的演示的输出
# 2 楼答案
如果知道属于模板的像素,可以编写匹配器
绝对差异总和试验(伪代码)
并对图像行进行多线程优化
# 3 楼答案
我想你也可以用直方图反投影来做这个。在那里,你也可以使用任意形状的遮罩。将遮罩与反向投影图像卷积,您将在图像中对象出现的区域中检测到峰值,如下面的图像(颜色映射和缩放)所示
反向投影:
召集:
编辑:
这是基于这个paper。我正在试验,希望能在博客上发表文章。 这是C++的。p>