我有一个大的数据集的网格我想低通滤波器。美中不足的是,需要指定为网格的每个像素的不同的西格玛值。
适马的单个值对整个电网是容易
imgaussfilt,
因此,例如,我使用3这样的西格马值可以过滤网格I:
I = 10 *兰特(100);
如果= imgaussfilt(I,3);
但我不希望土色西格玛的单个值对整个电网。相反,我要指定每一个像素不同的西格玛。对于这个100x100的网格可以很容易地通过每一行和每一列循环,过滤电网这样西格玛的规定值:
西格玛= ABS(峰(100))+ 0.1;
IF2 = NaN的(大小(I));
对于行= 1:尺寸(I,1)
对于COL = 1:尺寸(I,2)
TMP = imgaussfilt(I,西格马(行,列));
IF2(行,列)= TMP(行,列);
结束
结束
嵌套的循环方法给出我想要的答案,但它是不雅的,和缓慢的非常大的网格。有没有更好的方法来定义一个局部变滤波器?
0评论
登录发表评论。