首页 > 其他分享 >opencv cv::minMaxLoc

opencv cv::minMaxLoc

时间:2025-01-13 22:34:51浏览次数:1  
标签:Mat Point minMaxLoc opencv 最小值 图像 cv

cv::minMaxLoc 是 OpenCV 中的一个函数,用于查找数组(例如图像)中的最小值和最大值及其位置。这个函数在图像处理和分析时非常有用,尤其是在需要了解图像中亮度或其他数值特征的情况下。

函数签名

void cv::minMaxLoc(const Mat& src, double* minVal, double* maxVal, Point* minLoc = 0, Point* maxLoc = 0, const Mat& mask = Mat());

参数说明

  • src: 输入数组(可以是 1D 或 2D),通常是图像数据。
  • minVal: 指向变量的指针,用于存储最小值。
  • maxVal: 指向变量的指针,用于存储最大值。
  • minLoc: 指向 Point 结构的指针,用于存储最小值的坐标(可选)。
  • maxLoc: 指向 Point 结构的指针,用于存储最大值的坐标(可选)。
  • mask: 可选的掩码,用于指定要考虑的元素(默认为空掩码)。

示例代码

以下是一个使用 cv::minMaxLoc 的简单示例,查找图像中的最小值和最大值:

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // 读取图像
    cv::Mat image = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);
    
    if (image.empty()) {
        std::cerr << "无法读取图像" << std::endl;
        return -1;
    }

    // 初始化最小值和最大值变量
    double minVal, maxVal;
    cv::Point minLoc, maxLoc;

    // 使用 minMaxLoc 函数
    cv::minMaxLoc(image, &minVal, &maxVal, &minLoc, &maxLoc);

    // 输出结果
    std::cout << "最小值: " << minVal << " 在位置: " << minLoc << std::endl;
    std::cout << "最大值: " << maxVal << " 在位置: " << maxLoc << std::endl;

    return 0;
}

注意事项

  • 确保输入图像已经加载并且不为空。
  • 适当处理图像的颜色通道,通常需要将图像转换为灰度图以便于分析。
  • 如果需要考虑特定区域,可以使用掩码。

标签:Mat,Point,minMaxLoc,opencv,最小值,图像,cv
From: https://www.cnblogs.com/aisuanfa/p/18669550

相关文章

  • VScode搭建opencv环境c++,这个是我发的压缩包里面的
    通过网盘分享的文件:D.zip等2个文件链接:https://pan.baidu.com/s/1qiU3rgd4did84F83d3yKnQ提取码:npkg这里面的新建文件夹是软件,不用管D代表配置文件,里面的代码要改路径D里面有两个文件夹,一个是.vscode,里面的文件代码要改,后文会讲到一个是Debugger,这个不要管还有......
  • OpenCV机器视觉:主色提取的奇妙之旅
    ###C#OpenCV机器视觉:主色提取的奇妙之旅在当今这个充满数字化与自动化的时代,机器视觉技术正以前所未有的速度改变着我们的生活和生产方式。作为机器视觉领域的佼佼者,OpenCV以其强大的功能和开源的特性,成为了众多开发者心中的“瑞士军刀”。今天,我们将踏上一场奇妙的旅程,探索......
  • 【cs.CV】25.1.11 arxiv更新速递
    25.1.1012:00-25.1.1112:00共更新99篇—第1篇----=====DecentralizedDiffusionModels......
  • OpenCV基础:色彩空间之YUV
    YUV色彩模型YUV是另一种常见的色彩空间,主要用于视频处理和图像压缩。与RGB色彩模型不同,YUV是基于亮度(Luminance)和色度(Chrominance)来描述颜色的模型。在YUV中:Y代表亮度分量(Luminance),也就是图像的灰度信息。U和V代表色度分量(Chrominance),用于表示图像的颜色信息。......
  • OpenCV基础:色彩空间之HSV
    HSV(色调、饱和度、明度)模型HSV是一种用于表示颜色的色彩空间模型,它通过三个分量来描述颜色:H(Hue,色调):表示颜色的类型,通常是一个角度值,范围是0°到360°,对应不同的颜色。例如:0°对应红色,120°对应绿色,240°对应蓝色。S(Saturation,饱和度):表示颜色的纯度或强度,范围......
  • RISCV学习(4)GD32VF103 MCU芯片学习
    笔者有空学习了GD32的RSICV芯片,故来总结一下。GD32RISCV芯片系列GD:GidaDeivce,兆易创新,生产的MCU的内核架构系列如下图所述,主要是ARM架构的,Cortex-M23、M3、M4、M33以及M7,然后也涉及到了RISC-V架构的,笔者今天就来聊一下RISCV架构的MCU产品。GD32的RISC-V的芯片类型主......
  • 音视频:JavaCV 两种摄像头视频数据采集的方法
    需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集摄像头的两种方法。1.OpenCV使用OpenCVFrameGrabber采集指定摄像头(索引)的视频数据:publicclassSample01_Camera{ publicstaticvoidmain(String[]args)throwsEx......
  • 音视频:JavaCV 采集桌面画面并显示的方法
    需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集桌面数据的方法。使用FFmpegFrameGrabber采集桌面数据,指定输入源为desktop,format设置为gdigrab。参考雷神的博客:https://blog.csdn.net/leixiaohua1020/article/details/......
  • NfcV
    NfcV基础库2.11.2开始支持,低版本需做兼容处理。相关文档:近场通信(NFC)NfcV标签方法NfcV.connect()连接NFC标签NfcV.close()断开连接NfcV.setTimeout(Objectobject)设置超时时间NfcV.isConnected()检查是否已连接NfcV.getMaxTransceiveLength()获取最大......
  • 51c视觉~CV~合集9
    我自己的原文哦~   https://blog.51cto.com/whaosoft/12863288一、OpenCV4图像分割算法-AlphaMattinginfoFlow使用演示与应用主要介绍OpenCVAlphaMatting中InfoFlow图像分割算法的使用与演示。背景介绍 InformationFlowAlphaMatting算法是来源于GoogleSummer......