图像相似度(信息学奥赛一本通-T1123)
生活随笔
收集整理的這篇文章主要介紹了
图像相似度(信息学奥赛一本通-T1123)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
給出兩幅相同大小的黑白圖像(用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
【源程序】
#include<iostream> #include<cstdio> using namespace std; int main() {int m,n;int a[101][101],b[101][101];int sum=0;int i,j;double semblance;cin>>m>>n;//輸入圖像列數、行數for(i=1;i<=m;i++)//輸入第一個圖像for(j=1;j<=n;j++)cin>>a[i][j];for(i=1;i<=m;i++)for(j=1;j<=n;j++){cin>>b[i][j];//輸入第二個圖像if(a[i][j]==b[i][j])//與第一個圖像比較,若像素點顏色相同,計數器+1sum++;}semblance=sum*1.0/(n*m)*100;//相似度計算printf("%.2lf\n",semblance);return 0; }?
總結
以上是生活随笔為你收集整理的图像相似度(信息学奥赛一本通-T1123)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奖学金(洛谷-P1093)
- 下一篇: 信息学奥赛一本通C++语言——1013: