06:画像類似

合計時間の制限は:メモリ制限を1000ミリ秒:65536kBの
記述は、
それらの類似性を見つける同じサイズ(0-1マトリックス)の2枚の白黒画像を与え。

注:同一の位置に同一の画像内の2つのカラー画素場合、それらは同じ位置に画素を有すると言われています。2つの画像の類似性を定義すると、同じ画素数の全画素数に対する割合です。

入力
最初の行は、二つの整数mおよびn、行と画像の列の数は、単一のスペースで区切られた含んでいます。1 <= M <= 100、 1 <= N <= 100。
nは整数0又は1のmライン後、モノクロ画像上の点の各画素の色を表します。隣接する二つの数字の間に単一のスペースで区切られています。
nは整数0又は1のM個の行の後、それは第二のウェブ上の単色画像の各画素の色を表します。隣接する二つの数字の間に単一のスペースで区切られています。
出力
2つの小数点以下の精度(パーセントで与えられる)の類似度を表す実数、。
サンプル入力
。3. 3
。1 1 0
0 0 1
。1 1 0
。1 1 0
0 0 1
0 0 1
出力例
44.44

#include<iostream>
using namespace std;
int main(){
	int m,n;
	scanf("%d %d",&m,&n);
	
	int a[m+5][n+5];
	int b[m+5][n+5];
	//输入第一个图的像素位置 
	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]);
	}
	
	//表示像素点相同的个数 
	int num=0;
	//全部的像素点个数 
	int totalNum=m*n;
	
	
	for(int i=1;i<=m;i++)
	for(int j=1;j<=n;j++){
		if(a[i][j]==b[i][j])
		num++;
	}
	//保留两位小数输出
	printf("%.2f",100.00*num/totalNum);
	
	
	return 0;
}
公開された36元の記事 ウォンの賞賛0 ビュー353

おすすめ

転載: blog.csdn.net/weixin_44437496/article/details/104005589