查找Max矩阵&给定矩阵中的最小矩阵

时间:2016-10-15 02:21:30

标签: c++ opencv matrix

我是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.

1 个答案:

答案 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";

}