public static List <Pixel> Matches(this BImage baseImg, BImage partImg, Color?byColor = null) { var bw = baseImg.W; var bh = baseImg.H; var pw = partImg.W; var ph = partImg.H; var res = new List <Pixel>(); for (var j = 0; j < bh - ph + 1; j++) { for (var i = 0; i < bw - pw + 1; i++) { var p = Pixel.Create(j, i); if (baseImg.Check(partImg, p, byColor)) { res.Add(p); } } } return(res); }
public static bool MatchSingle(this BImage baseImg, BImage partImg, out Pixel pos, Color?byColor = null) { pos = new Pixel(); var bw = baseImg.W; var bh = baseImg.H; var pw = partImg.W; var ph = partImg.H; for (var j = 0; j < bh - ph + 1; j++) { for (var i = 0; i < bw - pw + 1; i++) { pos = Pixel.Create(j, i); if (baseImg.Check(partImg, pos, byColor)) { return(true); } } } return(false); }