gpt4 book ai didi

c# - opencv(emgu)中的模板匹配usink掩码

转载 作者:行者123 更新时间:2023-12-02 16:41:31 25 4
gpt4 key购买 nike

我想在另一个图像中找到一张图像。但是,我不想考虑这两个图像中的一些区域像素。所以我正在考虑使用某种带有零或一的掩码来表示好的像素。

我正在使用 emgu 的 MatchTemplate 方法,它不接受掩码。有没有其他方法可以做我想做的事情?谢谢!

ReferenceImage.MatchTemplate(templateImage, Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCORR_NORMED);

最佳答案

我想到了一个解决办法。假设 referenceImageMask 和 templateMask 在好像素中有 1,在坏像素中有 0。并且那个referenceImage 和templateImage 已经被屏蔽并且在坏像素中也有0。

然后,模板匹配的第一个结果将给出图像之间未归一化的互相关。

第二个模板匹配将为每个可能的偏移量提供两个图像中同时不同于零(未屏蔽)的像素数。

然后,用该数字标准化相关性应该给出我想要的值。两个图像中未屏蔽的像素的平均乘积。

Image<Gray, float> imCorr = referenceImage.MatchTemplate(templateImage,      Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCORR);
Image<Gray, float> imCorrMask = referenceImageMask.MatchTemplate(templateMask, Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCORR);
imCorr = imCorr .Mul(imCorrMask .Pow(-1));

关于c# - opencv(emgu)中的模板匹配usink掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19146733/

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