9.图像像素的最大值与最小值

目录

        1 图像像素的最大值与最小值介绍

        2 图像像素的最大值与最小值API详解

        2.1 minMaxLoc()函数

        2.2 minMaxIdx()函数

        2.3 cv::minMaxLoc()和cv::minMaxIdx()函数的差异

        3 代码实现

        1 图像像素的最大值与最小值介绍

        图像的最大值和最小值表示图像中的最亮和最暗像素的强度值。这些值通常用于对比度调整、灰度级伸展等图像处理操作中。在OpenCV中,这些值通过遍历图像的每个像素,并与当前所记录的最大值和最小值进行比较来获得。

        2 图像像素的最大值与最小值API详解

        2.1 minMaxLoc()函数

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

        该函数可用于获取图像中的最小值、最大值及其对应的位置。

Mat src:是输入图像,必须是单通道的图像。

minVal:是输出参数,用于存储最小值。

maxVal:是输出参数,用于存储最大值。

minLoc:是一个可选参数,用于存储最小值在图像中的位置。

maxLoc:是一个可选参数,用于存储最大值在图像中的位置。

mask:是一个可选参数,用于指定感兴趣区域(ROI),只有在指定区域内计算最小值和最大值。

        2.2 minMaxIdx()函数

cv::minMaxIdx(const cv::Mat& src, double* minVal, double* maxVal, int* minIdx = 0, int* maxIdx = 0, const cv::Mat& mask = cv::Mat())。

        函数:与cv::minMaxLoc()函数类似,也可以用来获取图像中的最小值、最大值及其对应的索引。参数和返回值与cv::minMaxLoc()函数相同。

        2.3 cv::minMaxLoc()和cv::minMaxIdx()函数的差异

cv::minMaxLoc()返回最小值和最大值的位置坐标(x, y)。

cv::minMaxIdx()返回最小值和最大值在图像中的索引。

        3 代码实现

#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;

int main(int argc, char* argv[])
{

	//读取图像
	Mat src = imread("lena.png",IMREAD_GRAYSCALE);
	
	if (src.empty())
	{
		cout << "could not load image" << endl;
	}
	// 定义变量存储最小值、最大值
	double minValue, maxValue;
	// 定义变量存储最小值、最大值坐标
	Point minLoc, maxLoc;

	// 获取最小值、最大值

	cv::minMaxLoc(src, &minValue, &maxValue,&minLoc,&maxLoc);

	// 打印最小值、最大值及坐标
	std::cout << "Min value: " << minValue << std::endl;
	std::cout << "Max value: " << maxValue << std::endl;
	
	std::cout << "Min Loc: " << minLoc << std::endl;
	std::cout << "Max Loc: " << maxLoc << std::endl;
	//显示时间


	return 0;
}

        上述代码中,首先使用cv::imread()函数读取一张灰度图像。然后,定义变量minValue、maxValue、minLoc、maxLoc用于存储最小值和最大值以及坐标位置。接下来,使用cv::minMaxLoc()函数获取图像的最小值和最大值。最后,通过std::cout输出打印最小值和最大值。请确保在编译时链接OpenCV库并包含相关头文件。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别叭叭儿—好好学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值