【问题标题】:Block Mean calculation using Matlab [duplicate]使用Matlab进行块均值计算[重复]
【发布时间】:2013-11-21 16:53:36
【问题描述】:

如何划分图像区域,将其划分为 nxn 个块,在这种情况下我们说 4x4。对于每个块,计算块的平均值。我需要将块平均值转换为基于(像素值=块平均值)的二进制位图。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    我相信使用imresize 可以实现您想要的,使用以下语法:

    N = 100;
    n = 4; % the size of your nxn blocks
    image = rand(N);
    small_image = imresize(image,1/n,'box');
    

    【讨论】:

      【解决方案2】:

      这个怎么样?

      img = randn(12,12); %// example data
      [R C] = size(img);
      N = 4; %// block size. Assumed to divide R and C
      
      result_small = blockproc(img,[N N],@(block) mean(block.data(:))); %// R/N x C/N
      result = result_small(floor(0:1/N:R/N-1/N)+1,floor(0:1/N:C/N-1/N)+1); %// R x C
      

      【讨论】:

        猜你喜欢
        • 2011-03-28
        • 1970-01-01
        • 2021-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-10
        • 2018-11-16
        相关资源
        最近更新 更多