访问Mat数组里 最大值(元素)和最小值(元素)以及其坐标 (OpenCV)

先介绍一下这篇文章的主角:


void minMaxIdx() 

说明: 返还数组的最小值和最大值,以及其在数组里的位置。

- InputArray   src                                   说明: 一个channel的数组。 这里的channel 可以看成图像里的RGB channel。 

- double* minVal, double* maxVal         说明:数组里的最大值,最小值。

-int* minIdx, int* maxIdx                        说明:最大值和最小的位置,即index值。

** 这里要注意 arr[0] 代表坐标y ,arr[1]代表坐标x。

-InputArray mask                                   


#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
	uchar data[] = {
		10, 200, 5, 7, 9,
		15, 35, 60, 80, 170,
		100, 2, 55, 37, 70
	};
	Mat  m1(3, 5, CV_8U, data);

	Mat  m_min, m_max;						// minimum value, maximum value

	double minVal, maxVal;
	int    minIdx[2] = {}, maxIdx[2] = {};	// minnimum Index, maximum Index
		
	minMaxIdx(m1, &minVal, &maxVal, minIdx, maxIdx);
	
	cout << "[m1] = " << endl << m1 << endl << endl;
	cout << "[m_min] = " << endl << m_min << endl;
	cout << "[m_max] = " << endl << m_max << endl << endl;
	
	cout << "minimum value in m1  : " << minVal << endl;
	cout << "   minimum value's Index is : " << minIdx[1] << ", " << minIdx[0] << endl;

	cout << "maximum value in m1: " << maxVal << endl;
	cout << "    maxnimum value's Index is : " << maxIdx[1] << ", " << maxIdx[0] << endl << endl;


	return 0;
}







  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值