利用OpenCV的函数minMaxLoc()获取图像中像素的最小值、最大值以及对应的坐标值

这篇具有很好参考价值的文章主要介绍了利用OpenCV的函数minMaxLoc()获取图像中像素的最小值、最大值以及对应的坐标值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

函数minMaxLoc()的原型如下:
C++原型:

void cv::minMaxLoc(InputArray src,
                   double * minVal,
                   double * maxVal = 0,
                   Point * minLoc = 0,
                   Point * maxLoc = 0,
                   InputArray mask = noArray() )

Python原型:

minVal, maxVal, minLoc, maxLoc=cv.minMaxLoc(src[, mask])

参数意义很简单,官方文档原文如下:
src—input single-channel array.
minVal—pointer to the returned minimum value; NULL is used if not required.
maxVal—pointer to the returned maximum value; NULL is used if not required.
minLoc—pointer to the returned minimum location (in 2D case); NULL is used if not required.
maxLoc—pointer to the returned maximum location (in 2D case); NULL is used if not required.
mask—optional mask used to select a sub-array.

要注意的是,
函数minMaxLoc()只能处理单通道的图像或矩阵,
如果大于了二维,
在Python中可以用函数reshape()先把矩阵形状进行调整,再使用函数minMaxLoc(),关于函数reshape()的详细介绍大家可以参考博文:https://www.hhai.cc/thread-155-1-1.html
在OpenCV-C++中则可以使用函数split()把各通道进行分离,再使用函数minMaxLoc(),当然Python环境下也可以这么做,关于函数split()的详细介绍,可以参考链接 https://www.hhai.cc/thread-151-1-1.html,另外OpenCV-C++环境下,还可以使用函数cv::extractChannel()单独抽取出某通道哦。

使用也很简单,大家一看示例代码就知道怎么用了。

C++示例代码如下:

//出处:昊虹AI笔记网(hhai.cc)
//用心记录计算机视觉和AI技术

//博主微信/QQ 2487872782
//QQ群 271891601
//欢迎技术交流与咨询

//OpenCV版本 OpenCV3.0

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

using namespace std;
using namespace cv;


int main()
{

	cv::Mat A1 = (cv::Mat_<uchar>(3, 3) << 1, 2, 3,
		6, 7, 8,
		11, 88, 13);

	cout << "A1中的数据为:\n" << A1 << endl << endl;

	double minval_1, maxval_1;
	Point minloc_1, maxloc_1;

	cv::minMaxLoc(A1, &minval_1, &maxval_1, &minloc_1, &maxloc_1);
	
	cout << "A1中的最小值为:\n" << minval_1 << endl << endl;
	cout << "A1中的最大值为:\n" << maxval_1 << endl << endl;
	
	cout << "A1中的最小值的位置为:\n" << minloc_1 << endl << endl;
	cout << "A1中的最大值的位置为:\n" << maxloc_1 << endl << endl;


	return(0);
}

运行结果如下:
利用OpenCV的函数minMaxLoc()获取图像中像素的最小值、最大值以及对应的坐标值

Python示例代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 出处:昊虹AI笔记网(hhai.cc)
# 用心记录计算机视觉和AI技术

# 博主微信/QQ 2487872782
# QQ群 271891601
# 欢迎技术交流与咨询

# OpenCV的版本为4.4.0

import numpy as np
import cv2 as cv

if __name__ == '__main__':
    A1 = np.array([[1, 2, 3],
                  [6, 7, 8],
                  [11, 88, 13]], dtype='int8')

    minval_1, maxval_1, minloc_1, maxloc_1 = cv.minMaxLoc(A1)
    print('A1中最小值为:{}, 其位置为:{}'.format(minval_1, minloc_1))
    print('A1中最大值为:{}, 其位置为:{}'.format(maxval_1, maxloc_1))

    # 关闭窗口
    cv.waitKey(0)
    cv.destroyAllWindows()

运行结果如下:
利用OpenCV的函数minMaxLoc()获取图像中像素的最小值、最大值以及对应的坐标值文章来源地址https://www.toymoban.com/news/detail-438990.html

到了这里,关于利用OpenCV的函数minMaxLoc()获取图像中像素的最小值、最大值以及对应的坐标值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

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

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

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

    2024年02月03日
    浏览(35)
  • OpenCV统计函数之minMaxLoc和meanStdDev

    OpenCV统计函数之minMaxLoc和meanStdDev

    在OpenCV中, minMaxLoc 和 meanStdDev 是两个用于统计图像或数组中元素的基本特性的函数。这些统计函数对于图像处理、特征提取和数据分析非常有用。 minMaxLoc函数用于查找数组或图像中的 最小值和最大值 ,并可选地返回这些值的位置。这在处理图像时特别有用,比如在动态调

    2024年02月22日
    浏览(7)
  • 获取List集合中的最大值和最小值

    获取List集合中的最大值和最小值

    实现获取List集合中的最大值和最小值共有以下两种方式,根据自己的场景选择合适的方法。 目录 Collections 1、String、Integer、Double类型 2、对象类型 排序 1、Integer类型 2、 基本排序方式: 1、String、Integer、Double类型 当List中元素为String、Integer、Double类型时,可以使用 Collectio

    2024年02月04日
    浏览(22)
  • opencv 统计函数countNonZero() minMaxloc() sumElems() mean() meanStdDev() reduce()

    1 . countNonZero() 用来统计元素值为非0值的像素点个数。 src:输入图像,必须为单通道图像; retval:非零像素值个数 absdiff() 计算了2幅图像差异后得到的新图像 零值元素数量可以由元素总数减去非零值数量得到 2 . minMaxLoc() 函数返回图像中的元素值的最小值和最大值,以及最小

    2024年02月12日
    浏览(20)
  • C++-map:获取map中value最大值、最小值对应的键值对

    简述:通过调用 max_element 函数,给定其特定的比较方式,将会获得在给定比较方式下得结果.上述代码中,给定的比较方式是根据 value 值进行比较, 相当于重构了 号.将返回最大值 . 使用匿名函数重构: 打印结果: C++获取map中value最大最小值对应的键值对_普通网友的博客-CSDN博客

    2024年02月16日
    浏览(9)
  • 【opencv】 利用图像轮廓函数填充轮廓内部
  • Python3 max() 函数 -求最大值、Python3 min() 函数 -求最小值

    ​ max() ​ 方法返回给定参数的最大值,参数可以为序列。 以下是​  max() ​ 方法的语法: x -- 数值表达式。 y -- 数值表达式。 z -- 数值表达式。 返回给定参数的最大值。 以下展示了使用 ​ max() ​ 方法的实例: 尝试一下 以上实例运行后输出结果为: ​ min()  ​方法返回给

    2023年04月26日
    浏览(16)
  • vue数组对象快速获取最大值和最小值(linq插件各种常用好用方法),提高开发效率

    vue数组对象快速获取最大值和最小值(linq插件各种常用好用方法),提高开发效率

    需求:因后端传入的数据过多,前端需要在数组中某一值的的最大值和最小值计算,平常用的最多的不就是遍历之后再比对吗,或者用sort方法等实现,同事交了我一招, 一句话就可以获取到数组对象中最大值和最小值 ,那就是用 linq插件 ,确实好用,用法也很简单,故而分

    2024年02月16日
    浏览(15)
  • 如何使用Python的pandas库获取DataFrame数据的最小值、最大值以及自定义分位数?

    Pandas是一个非常流行的Python数据处理库,它提供了大量的方法和工具来处理和分析数据。在本文中,我将向您展示如何使用Pandas获取dataframe格式数据的最小值、最大值和自定义分位数。 1、 获取最小值和最大值 获取dataframe的最小值和最大值非常简单。可以使用Pandas的min()和

    2024年02月02日
    浏览(9)
  • python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)

    python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)

    今天的低价单孔摄像机(照相机)会给图像带来很多畸变。畸变主要有两 种:径向畸变和切想畸变。如下图所示,用红色直线将棋盘的两个边标注出来, 但是你会发现棋盘的边界并不和红线重合。所有我们认为应该是直线的也都凸 出来了。 在 3D 相关应用中,必须要先校正这些畸变

    2024年02月06日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包