• 【C++】【Opencv】minMaxLoc()函数详解和示例


    minMaxLoc()函数 是 OpenCV 库中的一个函数,用于找到一个多维数组中的最小值和最大值,以及它们的位置。这个函数对于处理图像和数组非常有用。本文通过参数和示例详解,帮助大家理解和使用该函数。

    参数详解

    函数原型:

    void minMaxLoc(InputArray src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, InputArray mask=noArray());
    
    • 1

    参数详解:

    src:输入数组或者向量,必须包含至少一个元素。
    minVal:可选的输出参数,用于存储最小值的实际值。如果不需要这个值,可以设为0。
    maxVal:可选的输出参数,用于存储最大值的实际值。如果不需要这个值,可以设为0。
    minLoc:可选的输出参数,用于存储最小值的位置。如果不需要这个值,可以设为0。
    maxLoc:可选的输出参数,用于存储最大值的位置。如果不需要这个值,可以设为0。
    mask:可选的掩码,其大小和类型必须与 src 相同。如果指定了此参数,那么函数只查找具有非零掩码值的元素。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    示例

    #include 
    #include 
    
    int main() {
        // 读取图像
        cv::Mat img = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);
        if (img.empty()) {
            std::cout << "无法加载图像" << std::endl;
            return -1;
        }
    
        // 找到图像中的最小和最大灰度值,以及它们的位置
        cv::Point minLoc, maxLoc;
        double minVal, maxVal;
        cv::minMaxLoc(img, &minVal, &maxVal, &minLoc, &maxLoc);
    
        // 显示结果
        std::cout << "最小值:" << minVal << ",位置:" << minLoc << std::endl;
        std::cout << "最大值:" << maxVal << ",位置:" << maxLoc << std::endl;
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    在这个示例中,我们首先读取一张灰度图像。然后使用 minMaxLoc 函数找到图像中的最小和最大灰度值,以及它们的位置。最后,我们将结果打印到控制台上。
    运行输出:
    在这里插入图片描述

  • 相关阅读:
    TP5 封装通用的微信服务类
    Tomcat下载安装及配置Https教程
    openxr runtime Monado 源码解析 源码分析:源码编译 准备工作说明 hello_xr解读
    Java_线程的概念和线程的创建的方法
    HCIP中的MSTP多域配置
    智能可观测性如何赋能智能汽车主机厂
    springboot接口参数校验(JSR303)
    【torch】torch.nn.functional 中的unfold和fold直观理解
    Docker入门的亿点点学习
    linux系统nginx常用命令
  • 原文地址:https://blog.csdn.net/qq_22734027/article/details/134333734