假设我有一个灰度图像。 考虑每个像素周围的圆形邻域窗口。 我需要得到每个像素周围的圆形邻域的颜色直方图。
我怎样才能有效地实现循环附近操作包括在MATLAB这个问题?
假设我有一个灰度图像。 考虑每个像素周围的圆形邻域窗口。 我需要得到每个像素周围的圆形邻域的颜色直方图。
我怎样才能有效地实现循环附近操作包括在MATLAB这个问题?
我并不想给你的一切,但我认为这应该帮助你很多。
那么你可以做的人的做事就像一个圆
h = fspecial('disk',rad);
h = h>0;
然后,你可以在一个更大的矩阵任何地方做这样的事情
h2 = zeros(N,M);
h2(c_offset-rad:c_offset+rad,r_offset-rad:r_offset+rad) = h;
现在你有一个矩阵相同的尺寸(COL /行大小)的图像。 您可以以同样的方式使用此作为参考表,从矩阵中获取数据,什么可以说返回上面只有0.5的值
r = rand(10);
d = r(r>0.5);
编辑:
您还需要玩弄在一些地方的数据类型,使MATLAB快乐。 例如,H 2将需要一个逻辑,以把它作为另一种基质的参考表。 和HIST不会没有正确类型的工作,要么。