zoukankan      html  css  js  c++  java
  • 1123:图像相似度

    时间限制: 1000 ms 内存限制: 65536 KB
    提交数: 5813 通过数: 3910

    【题目描述】

    给出两幅相同大小的黑白图像(用0-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

    【来源】

    NO

    代码

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    using namespace std;
    int m,n;
    int main ()
    {
    	cin>>m>>n;
    	int a[m+1][n+1],b[m+1][n+1];
    	memset(a,0,sizeof(a));
    	memset(b,0,sizeof(b));
    	for(int i=1;i<=m;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			cin>>a[i][j];
    		}
    	}
    	for(int i=1;i<=m;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			cin>>b[i][j];
    		}
    	}
    	double sum=0.00;
    	for(int i=1;i<=m;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			if(a[i][j]==b[i][j]) sum++;
    		}
    	}
    	double temp;
    	temp=sum/(m*n)*100.0;
    	printf("%.2lf",temp);
    	return 0;
    }
    
  • 相关阅读:
    nginx优化配置
    mysql查看变量/配置文件位置
    关于ubuntu的ssh远程登录的问题
    ubuntu镜像下载地址
    百度地图标注地点
    Yii常用方法
    python_将一组数据展示成直方图(以list为例)
    opencv_形态学结构化元素对形态学图像处理的影响
    C语言学习_从VC++6.0开始
    SVM原理(1)
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338715.html
Copyright © 2011-2022 走看看