06:图像相似度
06:图像相似度
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
给出两幅相同大小的黑白图像(用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
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 char a[1001][1001]; 5 char b[1001][1001]; 6 double tot; 7 int main() 8 { 9 double n,m; 10 cin>>n>>m; 11 for(int i=1;i<=n;i++) 12 { 13 for(int j=1;j<=m;j++) 14 { 15 cin>>a[i][j]; 16 } 17 } 18 for(int i=1;i<=n;i++) 19 { 20 for(int j=1;j<=m;j++) 21 { 22 cin>>b[i][j]; 23 if(a[i][j]==b[i][j]) 24 tot++; 25 } 26 } 27 double ans=tot/(n*m); 28 printf("%.2lf",ans*100); 29 return 0; 30 }
作者:自为风月马前卒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。