如何将 cv::Mat 设为 2 x 2 最大值均值?

Posted

技术标签:

【中文标题】如何将 cv::Mat 设为 2 x 2 最大值均值?【英文标题】:How to get a cv::Mat to 2 by 2 maximum value mean? 【发布时间】:2017-05-30 06:27:11 【问题描述】:
0, 1, 0, 0 ,0, 0

0, 0, 2, 0 ,4, 0

0, 1, 0, 5 ,0, 0

0, 0, 1, 0 ,1, 0

0, 0, 0, 0 ,1, 0

我正在使用 opencv。 假设 cv:mat data 和上面的数组一样。

我想得到数组中2乘2的最大值的平均值。

一样好

           2, 0 
           0, 5

会的。 我们将把这个值除以四得到平均值。

你如何得到最大的 2 乘以 2?

【问题讨论】:

确定0, 4, 5, 0 更大? 对于每个 2x2 窗口,计算平均值并将其保存在窗口左上角像素位置的结果 Mat 中(可能使用 2x2 过滤器或两个分离的 1D 过滤器)。然后,使用 findMinMaxLoc 函数在该结果 Mat 中搜索最大值。 【参考方案1】:

像这样使用模糊滤镜

cv::gaussianblur(input_mat,output_mat,cv::size(5,5),0);

【讨论】:

试试看告诉我

以上是关于如何将 cv::Mat 设为 2 x 2 最大值均值?的主要内容,如果未能解决你的问题,请参考以下文章

如何将矢量<...> 转换为 cv::Mat?

如何获得 2 个 cv::Mat 对象之间的绝对差异

如何在 cv::Mat 上应用 bitwise_and?

如何将像素数据的所有权传递给 cv::Mat

从 3d 数组创建 cv::Mat 图像

如何将 cv::mat 对象从 python 模块传递给 c++ 函数并返回返回的 cv::mat 类型的对象?