-->

圆形邻域操作:MATLAB颜色直方图(Circular neighborhood operation

2019-07-03 14:01发布

假设我有一个灰度图像。 考虑每个像素周围的圆形邻域窗口。 我需要得到每个像素周围的圆形邻域的颜色直方图。

我怎样才能有效地实现循环附近操作包括在MATLAB这个问题?

Answer 1:

我并不想给你的一切,但我认为这应该帮助你很多。

那么你可以做的人的做事就像一个圆

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不会没有正确类型的工作,要么。



文章来源: Circular neighborhood operations: matlab color histogram