Nest Calls to Image Arithmetic Functions
You can use the image arithmetic functions in combination to perform a series of operations. For example, to calculate the average of two images,
You could enter
I = imread('rice.png'); I2 = imread('cameraman.tif'); K = imdivide(imadd(I,I2),2); % not recommended
When used with uint8
or uint16
data, each
arithmetic function rounds and clips its result before passing it on to the next
operation. This can significantly reduce the precision of the calculation.
A better way to perform this calculation is to use the imlincomb
function. imlincomb
performs all the
arithmetic operations in the linear combination in double precision and only rounds and
clips the final result.
K = imlincomb(.5,I,.5,I2); % recommended