我正在比较欧氏距离中两个相似灰度图像的差异。图像为灰色格式。
int dis = 0 ;
for(int i=0;i<mat1.rows;i++)
for(int j=0;j<mat1.cols;j++)
{
cout<< mat1.at<unsigned char>(i,j) <<endl;
int a = (mat1.at<unsigned char>(i,j) - mat2.at<unsigned char>(i,j));
dis += (a*a);
}
dis = sqrt (dis);
但程序发出错误,它没有说出错误究竟是什么。但我认为错误是由于转换 - int a =(mat1.at(i,j) - mat2.at(i,j));
我试过int =(mat1.at(i,j) - mat2.at(i,j));仍然无法正常工作