maltab中对查找表函数makelut和applylut的理解


查找表(LUT)是预先计算出每个可能邻域形状的像素值,然后把这些值储存到一个向量中。

 

1、makelut

makelut函数可以提供给用户构造一个查找表。

lut = makelut(f, n)

其中f是函数句柄,n可以是2或3。对于2*2邻域总共有16种不同,对3*3邻域有512种变化。

以下我将举例说明:

例1、lut = makelut('sum(x(:)) == 4', 2);

跟踪makelut代码,知

if (n == 2)
    lut = zeros(16,1);
    for k = 1:16
        a = reshape(fliplr(dec2bin(k-1,4) == '1'), 2, 2);
        lut(k) = feval(fun, a, params{:});
    end

对于2*2邻域,总共有16种模版,对每一种模版求出他的模版矩阵a,再对矩阵a用fun(在此为'sum(x(:)) == 4')计算值,将计算得到的值作为lut的元素。

当k=4时,a=[1 0;1 0]。sun(a(:))=2,所以此时的lut(4)=0;

当k=16, a=[1 1;1 1]。 sun(a(:))=4,所以此时的lut(4)=1;

这样我们就能构造出一个查找表。

2、applylut

函数applylut使用查找表来处理二值图像.

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值