使用matlab对图闻赙酵枭像进行处理经常需要将图像进行分块,matlab提供了一个很好的函数blkproc,这样就避免了使用for循环去进行处理,简化了程序。
函数的几种调用的形式:
B = blkproc(A,[m n],fun, parameter1, parameter2, ...)
B = blkproc(A,[m n],[mborder nborder],fun,...)
B = blkproc(A,'indexed',...)
具体应用实例:
J= blkproc(structdis,[blocksizerow blocksizecol], [blockrowoverlap blockcoloverlap],@computefeatures);
这里的意思是:
structdis:需要处理的图像或者矩阵
[blocksizerow blocksizecol] : 设定的分块大小比如64*64 就是[64 64]
[blockrowoverlap blockcoloverlap] : 设定的扩容大小比如当前小块选取横向扩容为8 纵向扩容为8 就是[8 8]
@computefeatures : 对每一个小块调用的函数就是@XXX,使用时自己用自己的函数就可以了。