我必须了解一个图像是否包含另一个类似的图像。这里有两个例子:
在此图像中:

我需要找到这个图像:

或者在这个里面

找到这个

。
其思想是:给定一个输入图像和一组图标,找出输入图像中存在的图标。
我尝试将MatchTemplate和特征匹配与ORB和SIFT一起使用,但我找不到任何有效的匹配。
下面是我在Go中尝试使用MatchTemplate的方法:
package main
import (
"fmt"
"image/color"
"gocv.io/x/gocv"
)
func main() {
matImage := gocv.IMRead("/Users/pioz/Desktop/samplex.jpg", gocv.IMReadGrayScale)
// gocv.Canny(matImage, &matImage, 200, 400)
matTemplate := gocv.IMRead("/Users/pioz/Desktop/eld.jpg", gocv.IMReadGrayScale)
// gocv.Canny(matTemplate, &matTemplate, 20, 40)
matResult := gocv.NewMat()
mask := gocv.NewMat()
gocv.MatchTemplate(matImage, matTemplate, &matResult, gocv.TmCcoeffNormed, mask)
mask.Close()
minConfidence, maxConfidence, minLoc, maxLoc := gocv.MinMaxLoc(matResult)
fmt.Println(minConfidence, maxConfidence, minLoc, maxLoc)
gocv.Circle(&matImage, minLoc, 10, color.RGBA{0, 0, 255, 1}, 10)
gocv.Circle(&matImage, maxLoc, 10, color.RGBA{0, 0, 255, 1}, 10)
gocv.IMWrite("out/out.jpg", matImage)
}你有什么建议或片段来解决这类问题吗?
https://stackoverflow.com/questions/58603355
复制相似问题