zoukankan      html  css  js  c++  java
  • 20200924--图像相似度(奥赛一本通P92 5多维数组)

    给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。

    输入:第1行包含两个整数m和n(1<=m<=100,1<=n<=100),表示图像的行数和列数,中间用单个空格隔开。

    之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。

    之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。

    输出:一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。

    样例输入:

    3 3

    1 0 1

    0 0 1

    1 1 0

    1 1 0

    0 0 1

    0 0 1

    样例输出:

    44.44

    #include <bits/stdc++.h>

    using namespace std;

    int a[101][101];

    int b[101][101];

    int m,n;

    double box;//如果此处用int,则最终结果为0

    int main()

    {

      scanf("%d%d",&m,&n);//输入m,n的值

      for(int i=1;i<=m;i++)

        {  for(int j=1;j<=n;j++)

            {scanf("%d",&a[i][j]);}

         }

      for(int i=1;i<=m;i++)

        {  for(int j=1;j<=n;j++)

            {scanf("%d",&b[i][j]);

              if(b[i][j]==a[i][j])

                {box++;}

             }

         }

        printf("%.2lf",box/(m*n)*100);

      return 0;

    }

  • 相关阅读:
    Linux netstat命令详解
    createdb test时报global/pg_filenode.map不存在
    详解神经网络中的反向传播
    Android学习20--OpenGL的"mapPoints"
    C++指向常量的指针和常指针
    git合并别的分支某次提交或合并
    Java实现GB2312文件转UTF8文件
    Windows Opengl ES 环境搭建
    android学习19--Matrix.mapPoints作用
    无能量损失弹跳效果的实现
  • 原文地址:https://www.cnblogs.com/whcsrj/p/13726458.html
Copyright © 2011-2022 走看看