分数比较

Posted zljzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分数比较相关的知识,希望对你有一定的参考价值。

分数比较:

比较两个分数的大小。

解题思路:

输入两个分数,构造可以求出最小公倍数的函数,利用函数求出分母相同时两分子的大小, 比较大小,根据要求输出结果。

代码:

#include<iostream>

using namespace std;

int bei(int x,int y)

    int t,temp,k=x*y;

    if(x<y)

   

        temp=x;

        x=y;

        y=temp;

   

    while(y!=0)

   

        t=x%y;

        x=y;

        y=t;

   

    k/=x;

    return k;

int main()

    int a,b,c,d;

    cin>>a>>b>>c>>d;

    int m,n;

    m=bei(b,d)/b*a;

    n=bei(b,d)/d*c;

    if(m>n)

        cout<<a<<"/"<<b<<">"<<c<<"/"<<d<<endl;

    else

        if(m==n)

            cout<<a<<"/"<<b<<"="<<c<<"/"<<d<<endl;

        else

            cout<<a<<"/"<<b<<"<"<<c<<"/"<<d<<endl;

    return 0;

从 OpenCv 图像比较中获取比较分数

【中文标题】从 OpenCv 图像比较中获取比较分数【英文标题】:Getting comparison score from OpenCv image comparison 【发布时间】:2020-01-16 13:52:08 【问题描述】:

我正在尝试在 OpenCv 中编写一个函数来比较两个图像 - imageA 和 imageB,以检查它们的相似程度。

我想得出三个比较分数(0 到 100 值),如下所示。 1. 直方图 - compareHist() : OpenCV 方法 2. 模板匹配 - matchTemplate() : OpenCV 方法 3. 特征匹配 - BFMatcher() : OpenCV 方法

关于上述计算得出的分数,我想得出一个关于匹配的结论。 我成功地让这个功能工作,但没有得到它的比较分数。如果有人可以帮助我,我会很棒。此外,也欢迎有关此类图像匹配的任何其他建议。

我知道有不同种类的算法可用于上述功能。所以,只是澄清我将使用的图像类型。 1. 如上所述,这将是一对一的比较。 2. 它的所有图像都是由人类使用移动相机拍摄的。 3.匹配的图像将主要从同一地点拍摄同一物体/地点。 (根据一天中的时间,照明可能会有所不同) 4. 如果图像不匹配,用户将被要求点击另一个,直到匹配。 5. 比较的图片种类可以包括-走廊、办公桌、电脑屏幕(屏幕上要比较的内容)、胡椒文件等。

【问题讨论】:

你看过detect and visualize differences between two images with OpenCV Python吗?一种方法是使用 SSIM,它返回一个差异掩码和一个分数,您可以使用它来确定两个图像之间的相似度 发布您的代码,以防止在除您感兴趣的方向之外的所有方向编写代码。因此,无需重新发明*** ;-) 此外,发布也适用于“但不能获得比较分数”的代码部分。最重要的是添加语言特异性...... C++、C# 还是 Python? 【参考方案1】:

1- 使用直方图,您可以使用直方图交集获得比较分数。如果你将两个直方图的交集除以两个直方图的并集,会给你一个介于0之间的分数(根本不匹配)和 1 (完全匹配)如下图中的示例:

您可以使用简单的 For 循环计算直方图的交集。

2- 在模板匹配中,每种比较方法得到的分数都不同。在这个link 你可以看到每个方法的细节。在某些方法中,最高分意味着最佳匹配,但在另一些方法中,最低分意味着最匹配。为了定义一个介于 0 和 1 之间的分数,您应该考虑 2 个分数:一个用于将图像与其自身匹配(最匹配分数),另一个用于匹配两个完全不同的图像(最低匹配),然后 normalize按图像中的像素数得分(height*width)。

3- 特征匹配不同于最后两种方法。您可能有两个相似的图像,但特征很差(匹配失败),或者有两个概念上不同的图像并且有很多匹配的特征。尽管如果图像功能丰富,我们可以将某些内容定义为分数。为此,请考虑以下示例:

Img1 有 200 个特征 Img2 有 170 个特征 这两张图片有 100 个匹配的特征 将 0.5 (100/200) 视为整幅图像匹配分数

您还可以将匹配的特征对之间的距离纳入评分,但我认为这就足够了。

【讨论】:

【参考方案2】:

关于比较分数。您是否尝试过实施加权平均以获得最终的比较指标?根据准确性对您正在实施的 3 种匹配方法进行加权,最佳方法获得“最重”的权重。

另外,如果您想探索其他匹配方法,请尝试基于 FFT 的匹配:http://machineawakening.blogspot.com/2015/12/fft-based-cosine-similarity-for-fast.html

【讨论】:

以上是关于分数比较的主要内容,如果未能解决你的问题,请参考以下文章

从 OpenCv 图像比较中获取比较分数

分数比较

比较两个连分数的大小

比较两个表格中的分数,并显示最近的不同之处

差分法详解

用Java编写比较两个数大小的题目