【问题标题】:How to get a cv::Mat to 2 by 2 maximum value mean?如何将 cv::Mat 设为 2 x 2 最大值均值?
【发布时间】: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 中搜索最大值。

标签: c++ opencv image-processing mat


【解决方案1】:

像这样使用模糊滤镜

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

【讨论】:

  • 试试看告诉我
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-03
  • 1970-01-01
  • 2020-07-24
相关资源
最近更新 更多