다음과 같은 내용이 있지만 원본 이미지에서 모든 일치 항목을 찾는 방법을 알아낼 수 없습니다.OpenCv : 복수 일치 찾기
static void Main()
{
using (var template = Cv.LoadImage(@"images\logo.png", LoadMode.GrayScale))
using (var source = Cv.LoadImage(@"images\manyLogos.png", LoadMode.GrayScale))
using (var sourceColour = Cv.LoadImage(@"images\manyLogos.png", LoadMode.Color))
{
var width = source.Width - template.Width + 1;
var height = source.Height - template.Height + 1;
using (var result = Cv.CreateImage(Cv.Size(width, height), BitDepth.F32, 1))
{
Cv.MatchTemplate(source, template, result, MatchTemplateMethod.SqDiff);
var THRESHOLD = 0.08D;
double minVal, maxVal;
CvPoint minLoc, maxLoc;
Cv.MinMaxLoc(result, out minVal, out maxVal, out minLoc, out maxLoc);
var outlineColor = (minVal > THRESHOLD) ? CvColor.Green : CvColor.Red;
Cv.Rectangle(sourceColour, Cv.Point(minLoc.X, minLoc.Y), Cv.Point(minLoc.X + template.Width, minLoc.Y + template.Height), outlineColor, 1, 0, 0);
}
using (var window = new CvWindow("Test"))
{
while (CvWindow.WaitKey(10) < 0)
{
window.Image = sourceColour;
}
}
}
}
나는 모든 경기가 아닌 최선의 경기를 개설 할 수 있습니다. 어떻게 든 모든 경기를해야합니다.