I am creating a nonuniform illumination in MATLAB R2015. The nonuniform illumination (known as bias field) is defined as
Nonuniform Illumination (intensity inhomogeneity) which manifests itself as slow intensity variations in the same class over the image domain.
The non-linear degree of intensity inhomogeneity is indicated by the range of values of the bias field in the interval
[1 − α, 1 + α]
withα > 0
I used the below MATLAB code to generate the intensity inhomogeneity image in case of α = 0.2
:
cols=256;rows=256;
alpha=0.2;
x = linspace(1-alpha,1+alpha,cols);
y = linspace(1-alpha,1+alpha,row2);
% Transform into a grid
[X,Y] = meshgrid(x,y);
bias=X;
imshow(bias,[])
However, I am confused about the term 'non-linear'. It means that the value in the range [1 − α, 1 + α]
needs to be slowly changed in a non-linear manner. In the above code, it seems that it is linearly changing. Is this correct? Could you suggest me a method to create an image based on the definition?
This is an expected example which I need to obtain
or
linspace
perhaps you want something likex = (1:256)^2./256^2
, which you could then "stretch" to account for the $\alpha$ offsets. "Nonlinear" could mean almost any function, not necessarily even monotonic. $\endgroup$ – Carl Witthoft Mar 4 '16 at 13:50