public static MinMaxLocResult minMaxLoc(Mat src, Mat mask)
参数src:输入的图像矩阵
参数mask:可选的掩码矩阵
返回值 MinMaxLocResult:记录最小值、最大值及其位置
public static class MinMaxLocResult { public double minVal; public double maxVal; public Point minLoc; public Point maxLoc; public MinMaxLocResult() { minVal=0; maxVal=0; minLoc=new Point(); maxLoc=new Point(); }}
函数要求输入图像必须是单通道
寻找图像矩阵最大值最小值及其位置由于只能输入单通道图片,所以先分离后执行计算 *** 作
private fun minMaxLoc(source: Mat) { val bgrList = ArrayList<Mat>() Core.split(source, bgrList) var minLoc = Point() var maxLoc = Point() var minVal = 255.0 var maxVal = 0.0 var minCha = 0 var maxCha = 0 for (index in 0 until bgrList.size) { val tmp = Core.minMaxLoc(bgrList[index]) if (tmp.minVal < minVal) { minVal = tmp.minVal minLoc = tmp.minLoc minCha = index } if (tmp.maxVal > maxVal) { maxVal = tmp.maxVal maxLoc = tmp.maxLoc maxCha = index } } val tmp = "最小值 = $minVal, 位于${minCha}通道${minLoc}\n最大值 = $maxVal, 位于${maxCha}通道${maxLoc}\n" message += tmp for (current in bgrList) { current.release() }}
均值与标准差概念均值反映了图像的亮度,均值越大说明图像亮度越大,反之越小;
标准差又常称均方差,是离均差平方的算术平均数的平方根,用σ表示。在概率统计中最常使用作为统计分布程度上的测量。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。标准差反映了图像像素值与均值的离散程度,标准差越大说明图像的质量越好。
APIpublic static voID meanStdDev(Mat src, MatOfDouble mean, MatOfDouble stddev, Mat mask)
参数src:输入的图像矩阵参数mean:输出图像像素均值矩阵参数stddev:输出的图像像素方差j矩阵参数mask:可选的掩码矩阵计算图像矩阵均值和标准差private fun meanStdDev(source: Mat) { val mean = MatOfDouble() val stdDev = MatOfDouble() Core.meanStdDev(source, mean, stdDev) val tmp = "平均值:${mean.toList()}\n方差:${stdDev.toList()}\n" message += tmp mean.release() stdDev.release()}
计算结果源码https://github.com/onlyloveyd/LearningAndroIDOpenCV
点赞收藏分享文章举报onlyloveyd 博客专家 发布了160 篇原创文章 · 获赞 265 · 访问量 32万+他的留言板 关注 总结扫描左方二维码关注持续更新
以上是内存溢出为你收集整理的Android OpenCV(三):图像像素值统计全部内容,希望文章能够帮你解决Android OpenCV(三):图像像素值统计所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)