gpt4 book ai didi

java - Java 中圆形图像的 OpenCV 模板匹配

转载 作者:行者123 更新时间:2023-12-01 22:36:34 26 4
gpt4 key购买 nike

我并不总是有方形/矩形图像,有时我也应该匹配圆形图像。例如,下面有 2 张图片。 Ball 是模板图像,第二个是应在其中搜索模板的 Source。我可以使模板的背景透明,但这会产生错误,使其变白会降低匹配分数,因为正如您在源图像上看到的那样,球周围没有白色。这些只是 2 张示例图片。您有建议/解决方案吗?

Template image to be searched

Source image

最佳答案

我认为您也可以使用直方图反投影来实现此目的。在那里您也可以使用任意形状的蒙版。将蒙版与反投影图像进行卷积,您将在图像中出现对象的区域中检测到峰值,如下面的图像(颜色映射和缩放)所示。

反投影:

enter image description here

卷积:

enter image description here

编辑:

这是基于这个paper 。我正在尝试它并希望在博客中发布。这是用 C++ 编写的。

// model histogram: this is the football template
calcHist(&model32fc3, 1, (const int*)channels, modelMask, histModel, 3, (const int*)histSize, (const float**)ranges, true, false);
// image histogram
calcHist(&image32fc3, 1, (const int*)channels, Mat(), histImage, 3, (const int*)histSize, (const float**)ranges, true, false);
// ratio histogram
divide(histModel, histImage, histRatio);
cv::min(histRatio, 1.0, histRatio);
// backproject ratio histogram
calcBackProject(&image32fc3, 1, (const int*)channels, histRatio, backprj, (const float**)ranges);
// convolve the kernel with the backprojected image
filter2D(backprj, conv, CV_32F, modelMask);

关于java - Java 中圆形图像的 OpenCV 模板匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26784152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com