Image Processing Toolbox User's Guide Previous page   Next Page
colfilt

Perform neighborhood operations using columnwise functions

Syntax

Description

colfilt processes distinct or sliding blocks as columns. colfilt can perform operations similar to blkproc and nlfilter, but often executes much faster.

B = colfilt(A,[m n],block_type,fun) processes the image A by rearranging each m-by-n block of A into a column of a temporary matrix, and then applying the function fun to this matrix. fun must be a function handle. colfilt zero-pads A, if necessary.

Before calling fun, colfilt calls im2col to create the temporary matrix. After calling fun, colfilt rearranges the columns of the matrix back into m-by-n blocks using col2im.

block_type is a string that can have one of the values listed in this table.

Value
Description
'distinct'
Rearranges each m-by-n distinct block of A into a column in a temporary matrix, and then applies the function fun to this matrix. fun must return a matrix the same size as the temporary matrix. colfilt then rearranges the columns of the matrix returned by fun into m-by-n distinct blocks.
'sliding'
Rearranges each m-by-n sliding neighborhood of A into a column in a temporary matrix, and then applies the function fun to this matrix. fun must return a row vector containing a single value for each column in the temporary matrix. (Column compression functions such as sum return the appropriate type of output.) colfilt then rearranges the vector returned by fun into a matrix the same size as A.

B = colfilt(A,[m n],[mblock nblock],block_type,fun) processes the matrix A as above, but in blocks of size mblock-by-nblock to save memory. Note that using the [mblock nblock] argument does not change the result of the operation.

B = colfilt(A,'indexed',...) processes A as an indexed image, padding with 0's if the class of A is uint8 or uint16, or 1's if the class of A is double or single.

Class Support

The input image A can be of any class supported by fun. The class of B depends on the class of the output from fun.

Example

This example sets each output pixel to the mean value of the input pixel's 5-by-5 neighborhood.

See Also

blkproc, col2im, function_handle, im2col, nlfilter


Previous page  col2im colorbar Next page

© 1994-2005 The MathWorks, Inc.