matlab中patch命令_matlab中图像块(patch)处理命令小结

本文总结了MATLAB中处理图像块(patch)的常用命令,包括nlfilter、blockproc、colfilt、im2col和col2im等,强调了MATLAB的矩阵运算优势,并给出了实例说明这些命令在图像处理中的应用。
摘要由CSDN通过智能技术生成

在使用MATLAB语言实现图像处理算法时,我们常常会遇到需要对图像块(patch)进行运算的情况。受到其他语言编程习惯的影响,循环通常是不假思索的第一选择。但由于matlab是利于矩阵运算的编程语言,采用循环只会低效和耗时。

因此,下面总结了在图像处理中遇到的块运算常用的命令及代码,希望对大家有所帮助。

1. nlfilter

调用格式:B = nlfilter(A, [m n], fun);

意为对图像A的每个大小为m*n的patch进行fun函数的操作,patch的取法为滑动(sliding),即patch的中心像素遍历图像的每个点,当取到边界时需要进行边界延拓。fun必须是函数的句柄,可自由定义也可取matlab内置的函数。

例:

对图像I的每个5*5邻域进行取标准差的运算 :I2= nfilter(I,[5,5],@std2);

2. blockproc

不重叠的块运算命令(distinct block processing)

调用格式:B = blockproc(A,[M N],fun);

意为对图像A的每个不重叠的大小为m*n的块进行fun函数的操作,级联的结果为B。

例:

对图像I的每个5*5邻域进行取标准差的运算:fun = @(block_struct) ...

std2(block_struct.data) * ones(size(block_struct.data));

I2 = blockproc(I,[5 5],fun);

另:

还有个命令blkproc,功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值