OpenCV ライブラリを使用して画像比較に関するアプリケーションを作成しています。私は基本的なブロックマッチング方法を使用しています
各ブロックのビット数を抽出するにはどうすればよいですか
これはイメージだと思ってください
16x16 ピクセル
--------------
+ +
+ +
+ +
+------------+
ブロック サイズ = 8x8 ピクセルの場合
--------------
+ | +
+------------+
+ | +
+------------+
私のプログラム:
1) 2 つの画像を読み取る 2
) それらをグレースケールに変換する
3) 画像をブロック数に分割する
4) ブロックを比較する
5) 出力に類似度のパーセンテージを出力する
私の関数は、画像内のブロックのすべてのピクセルを比較します
float imCompBMA(float **b1, float **b2, float h, float w){
float percent;
int i, j, counter=0;
for(i=0;i<h;i++){
for(j=0;j<w;j++){
// If both blocks have the same value at pixel (i,j)
//this line has to be improved
if(b1[i][j]==b2[i][j]){
counter++;
}
}
}
// Percent is the number of same pixels to the total number of pixels
percent=(float)(counter/(h*w))*100;
return percent;
}
では、各ブロックの平均ビット数を比較して改善するにはどうすればよいですか
前もって感謝します