La funzione
imadd non fa altro che sommare la matrici ottenute con
imread
Z = imadd(X,Y) adds each element in array X with the corresponding element in array Y and returns the sum in the corresponding element of the output array Z. X and Y are real, nonsparse numeric arrays with the same size and class, or Y is a scalar double. Z has the same size and class as X, unless X is logical, in which case Z is double.
If X and Y are integer arrays, elements in the output that exceed the range of the integer type are truncated, and fractional values are rounded.
.
Dovresti verificare le dimensioni ed il tipo delle due matrici che ottieni con
I=imread('noi.jpg');
J=imread('img.jpg');
semplicemente con il comando.
whos I J
Nella prova che ho fatto (ho usato una immagine e la sua "copia" - copy ...) ottengo
>> whos I J
Name Size Bytes Class Attributes
I 344x369x3 380808 uint8
J 344x369x3 380808 uint8
"leggendo (imread)" direttamente le immagini.
E
>> whos I J
Name Size Bytes Class Attributes
I 344x369x3 3046464 double
J 344x369x3 3046464 double
dopo aver convertito le matrici in "double" (im2double").
Come vedi, le dimensioni delle due matrici sono uguali così come il "tipo".