aforge通过角点匹配图片相似度

我不知道什么原因,人品不好还是啥的

ExhaustiveTemplateMatching这个类无法高精确度的匹配图片

...........

 

 

换一种方式,就好得多

/// <summary>
        /// 匹配结果
        /// </summary>
        /// <param name="src">来源</param>
        /// <param name="taget">模板</param>
        public static bool IsMatching(Bitmap src, Bitmap taget)
        {
            bool result=false;
            SusanCornersDetector scd = new SusanCornersDetector();
            if (CurTemplateFeaturePoint == null || CurTemplateFeaturePoint.Count == 0)
            {
                CurTemplateFeaturePoint = scd.ProcessImage(taget); //获取模板相关点
            }
            ExhaustiveBlockMatching bm = new ExhaustiveBlockMatching(5, 5);
            bm.SimilarityThreshold = 0.9f;
            // 搜索匹配点
            List<BlockMatch> matches = bm.ProcessImage(taget, CurTemplateFeaturePoint, src);
            int sourceCount = CurTemplateFeaturePoint.Count;
            int matchCount = matches.Count;
            double matchPercent = Math.Round(matchCount/(sourceCount+0F), 2);
            if (matchPercent>=StcVar.FfSimilarityThreshold)
            {
                result = true;
            }
            src.Dispose();
            taget.Dispose();
            return result;
        }

 

转载于:https://www.cnblogs.com/daxiongblog/p/6065751.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在.NET Core中,可以使用不同的方法来计算两张图片相似度。下面是两种常见的方法: 1. 基于像素比较:这种方法是比较两张图片中每个像素的RGB值,并计算它们之间的差异。可以使用.NET Core中的Image类将图片加载到内存中,然后逐个像素进行比较。对于每个像素,可以计算RGB值之间的欧氏距离或其他相似性度量。最后,可以对所有像素的差异进行加权平均,得到图片相似度。 2. 基于特征提取:这种方法是首先对图片进行特征提取,然后比较提取到的特征之间的差异。在.NET Core中,可以使用一些开源的机器学习库,如Accord.NET或TensorFlow.NET来提取图像特征。常见的特征提取方法包括使用卷积神经网络提取图像的深度特征或使用图像处理算法提取纹理、形状等特征。提取到的特征可以使用欧氏距离、余弦相似度等度量来计算相似度。 需要注意的是,图像相似度的计算是一个复杂的问题,没有一种通用的方法适用于所有情况。不同的方法可能适用于不同的图像类型和相似度要求。此外,图像的大小、亮度、旋转等因素也会对相似度的计算结果产生影响。因此,在实际应用中,需要根据具体需求选择合适的方法,并通过实验验证其准确性和可靠性。 ### 回答2: .NET Core 平台提供了一些工具和库可以用于对两张图片相似度进行比较。根据需求和具体问题,可以使用以下两种不同的方法。 1. 使用图像处理库:借助.NET Core平台上可用的图像处理库,可以对两张图片进行相似度比较。可以先将两张图片转换为可以进行图像处理的格式(如Bitmap),然后使用图像处理库提供的算法进行比较。常用的图像处理库包括Emgu CV、AForge.NET等,它们提供了一些图像相似度度量的算法,如结构相似性指数(SSIM)、均方误差(MSE)等。通过计算这些度量值,可以得到两张图片相似度指标。 2. 使用机器学习算法:除了传统的图像处理库,还可以使用机器学习算法对图片进行相似度比较。在.NET Core平台上,可以使用ML.NET或TensorFlow.NET等机器学习库来训练模型,并使用这些模型来计算图片相似度。具体流程包括:首先,使用一些已知相似度图片对来训练机器学习模型;接着,使用该模型对新的图片进行预测,得到图片相似度。这种方法可以通过训练更加复杂的模型,获取更准确的相似度结果。 需要注意的是,无论选择哪种方法,对于大规模图片相似度比较,可能需要考虑性能和资源的问题。可以根据具体需求调整算法的复杂度和使用的技术工具,以平衡准确度和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值