matlab - 网格上直方图的快速计算

标签 matlab grid histogram

我有一个 200x200 的灰度图像,我想计算图像中每个 8x8 窗口的强度直方图。我怎样才能计算得那么快?我现在使用 for 循环,但它太慢了。我当前的代码如下所示:

I = imread('image.jpg');
for i=1:8:height-7
    for j=1:8:width-7
       patch = I(i:i+7,j:j+7);
       % compute histogram for the patch
    end
end

最佳答案

如果您有图像处理工具箱,则可以使用函数 blockproc这是循环的编译后的通用版本。只需将回调函数定义为您的直方图计算即可。

B = blockproc(I, [8 8], @myhistfun)

关于matlab - 网格上直方图的快速计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7070319/

相关文章:

matlab - Matlab 上的对数最小二乘法

unix 命令行中类似 Matlab 的命令历史检索

matlab - 如何将一个矩阵存储在另一个矩阵的一行中?软件

c# - 如何从 xaml 中获取显式指定的属性

r - 如何在ggplot中标记堆叠的直方图

matlab - 欧氏距离两个像素,每个像素属于不同的图像

java - GetComponentAt Trouble 问题

HTML/CSS : Grid for images with varying heights – why are images not wrapping properly?

python - 如何制作具有不同索引数量和顺序的三组字典中的三列的条形图?

python - 如何创建加权二维直方图