MATLAB: Assign 3-by-1 matrix to image 3D matrix

image processinglmsmatrix

Hello,
I get color values from loop and impixel function.
Color values is 1×3 matrix.
For my calculate must be color dimension like 3×1, therefoe transponing. Result is 3×1 matrix (LMS).
My question is:
how assign 3×1 (LMS) matrix to new matrix (A_LMS) which will be built (and dimension increase) simultaneously. New matrix (A_LMS) is the same size of original image (A)?
for Z = 1 : Za
for Y = 1 : Ya
for X = 1 : Xa
color = impixel(A, X, Y);
LMS = mapM*(color.');
A_LMS(, , Z) = LMS.';
end
end
end

Best Answer

I solve this issue:
for Z = 1 : Za
for Y = 1 : Ya
for X = 1 : Xa
color = impixel(A, X, Y);
LMS = mapM*(color.');
[Xlms, Ylms] = size(LMS);
for Y_LMS = 1 : Ylms
for X_LMS = 1 : Xlms
A_LMS(X, Y, Z) = LMS(X_LMS, Y_LMS);
end
end
end
end
end
Related Question