Qt+OpenCV联合开发(十五)--像素值统计
来源:http://www.tudoupe.com时间:2022-02-02
一、知识点
- 最小(min)
- 最大(max)
- 均值(mean)
- 标准方差(standard deviation)
API 知识点:
- 求最大最小值minMaxLoc
- 计算均值与标准方差meanStdDev
注:minMaxLoc函数非常有用,在opencvDNN模块推理或者结果,特别是对于一些分类的结果,你要获取index,获取最大可能性对应的index 就是通过这个API
二、函数原型
1、最大最小值——minMaxLoc
参数一:InputArray类型的src,输入单通道数组(图片)。
参数二:double*类型的minVal,返回最小值的指针。若不用返回,此值置为NULL。
参数三:double*类型的maxVal,返回最大值的指针。若不用返回,此值置为NULL。
参数四:Point*类型的minLoc,返回最小位置的指针(二维情况下),若不用返回,此值置为NULL。
参数五:Point*类型的maxLoc,返回最大位置的指针(二维情况下),若不用返回,此值置为NULL。
参数六:InputArray类型的mask,用于选择子阵列的可选掩膜。
注:
1、minMaxLoc寻找矩阵(一维数组当作向量,用Mat定义) 中最小值和最大值的位置
2、若不需要参数,则置为NULL或者0都可以
3、minMaxLoc针对Mat和MatND的重载中 ,第5个参数是可选参数,不用则不传4、minMaxLoc针对单通道图像,如果输入多通道图像,程序运行完直接闪退;minMaxIdx则不限制(不过输出的坐标会变成三维)
三通道变成单通道方法:
2、均值与标准方差——meanStdDev
参数一:InputArray类型的src,输入矩阵,这个矩阵应该是1-4通道的,这可以将计算结果存在Scalar_ ‘s中
参数二:OutputArray类型的mean,输出参数,计算均值
参数三:OutputArray类型的stddev,输出参数,计算标准差
参数四:InputArray类型的mask,可选参数
注:第二个参数这里有个技巧,有时候你会求取ROI区域的min max,那个ROI在哪呢,通过mask来获取
三个通道让你取值的话就利用mean.at<double>(0,0),其中(0,0)为第0个通道,(1,0)为第1个通道,(2,0)为第2个通道
三、实现效果
1、取3个通道打印结果

2、取第0个通道打印结果

3、当方差为0时,表示这种图没有携带有效信息,就是说明这个图的对比度为0,所有值都一样(纯色的图) ,在图像分析中非常有用,打印结果如下

四、代码
原创不易,转载请注明出处:
https://blog.csdn.net/hml111666/article/details/122767803
相关新闻
- 2023-05-06 微pe怎么初始化U盘(微pe怎么恢复初
- 2023-05-06 Xp系统boot 进入pe(boot manager 怎么进入
- 2023-05-06 win pe修复bcdboot(pe修复系统)
- 2023-05-06 win7更新失败 pe(win7更新失败还原更
- 2023-05-06 u盘装了pe读取不了(u盘能进pe读取不
- 2023-05-06 u盘pe 发热(u盘发热烫手)
- 2023-05-06 u盘pe下看不到硬盘(u盘启动pe看不到
- 2023-05-06 pe盘 ntfs(u盘ntfs格式)
- 2023-05-06 sony笔记本进入pe模式(联想笔记本怎
- 2023-05-06 pe启动盘进不去(pe启动盘进不去系统
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|



