CImage:FiltRank


The FiltRank method applies a rank filter to the image. This filter selects the neighborhood value having a particular percentile rank. The filter can be tuned for removing noise or for other morphological effects.

Syntax

bSuccess = CImage:FiltRank( cols, rows, percentile )

bSuccess = CImage:FiltRank( cols, rows, percentile, CRect )

where

    cols is the column length of the filter kernel.

    rows is the row length of the filter kernel.

    Percentile is the neighborhood percentile rank to select.

    CRect is the rectangle defining the area to process. If omitted, it defaults to nil and the entire image is processed.

    bSuccess is the returned success code. On success it is true, otherwise false.

  

This method applies a rectangular rank filter to the image. The ranking operation is a nonlinear process because the resulting value cannot be determined by applying linear operations (addition and multiplication) to other pixel values.

Example

Suppose an image is displayed in a CImageView named V. The following script removes point defects from the [100:300, 400:800] pixel region using a 3x3 rank filter at 45 percentile rank:

I = V:GetImage()

-- attach the current displayed image

R = NewRect(100,300,400,800)

-- setup the rectangle to process

I:FiltRank(3,3,45,R)

-- apply the filter

V:Update()

-- update the display after the scale

R:delete()

-- done with the CRect

Related Topics

FiltMedian

FiltMin

FiltMax

CImage class