opencv学习日记——寻找图像像素点的最值以及位置坐标

opencv学习日记——寻找图像像素点的最值以及位置坐标

#include
#include
#include

using namespace std;
using namespace cv;

int main()
{
    float a[4] = {1, 2, 3, 4};
    //单通道矩阵
    Mat img = Mat(2, 2, CV_32FC1, a);
    //多通道矩阵
    Mat imgs = Mat(2, 2, CV_32FC2, a);
    //用于成装最值 及其坐标
    double minVal, maxVal;
    Point minIdx, maxIdx;
    //计算最值与最值的坐标
    minMaxLoc(img, &minVal, &maxVal, &minIdx, &maxIdx);
    cout << "Img中最小值: " << minVal << "在矩阵中的位置为: "<< minIdx << endl;
    cout << "Img中最大值: " << maxVal << "在矩阵中的位置为: "<< maxIdx << endl;
    //把矩阵变成 1个通道 4行的矩阵
    Mat img_re = imgs.reshape(1, 4);
    minMaxLoc(img_re, &minVal, &maxVal, &minIdx, &maxIdx);
    cout << "Img_re中最小值: " << minVal << "在矩阵中的位置为: "<< minIdx << endl;
    cout << "Img_re中最小值: " << minVal << "在矩阵中的位置为: "<< minIdx << endl;

    return 0;

}

‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’

Img中最小值: 1在矩阵中的位置为: [0, 0]
Img中最大值: 4在矩阵中的位置为: [1, 1]
Img_re中最小值: 2.8026e-45在矩阵中的位置为: [1, 2]
Img_re中最小值: 2.8026e-45在矩阵中的位置为: [1, 2]

你可能感兴趣的:(opencv,opencv)