我是c ++和opencv的新手。我有3个矩阵,在这三个矩阵中,我想找到最大矩阵和最小矩阵,例如
A = [1 2 3] B = [2 4 6] c = [4 8 12]然后A是最小值,C是具有高标量值的矩阵,是否有任何方法可以找到它,因为它是的,任何帮助表示赞赏。
另一方面,我尝试如下,但这是不正确的。
Mat A=imread("") // intialise the mat 1X3
Mat B= //intialise the mat 1X3
if (A>B) printf("Matrix A greater than B") // this line encounter the Error that is not the correct way of doing that.
答案 0 :(得分:0)
您好OpenCV已经为您实现了cv :: min和max功能!这是一个示例用法!希望这有帮助!
int _tmain(int argc, _TCHAR* argv[])
{
//Fill Random Numbers in 3 Mats
Mat mTest(5,5,CV_8UC3),mMin,mMax;
randn(mTest,Scalar::all(125),Scalar::all(100));
Mat mTest_3[3];
split(mTest, mTest_3);
//Find Min and max from 3 Mats!
mMin=cv::min(mTest_3[0],cv::min(mTest_3[1],mTest_3[2]));
mMax=cv::max(mTest_3[0],cv::max(mTest_3[1],mTest_3[2]));
cout<< "Inputs 1: \n"<<mTest_3[0]<<"\n";
cout<< "Inputs 2: \n"<<mTest_3[1]<<"\n";
cout<< "Inputs 3: \n"<<mTest_3[2]<<"\n";
cout<< "Min : \n"<<mMin<<"\n";
cout<< "Max : \n"<<mMax<<"\n";
}