Loop in a array
Ältere Kommentare anzeigen
Hi,
I have a question. I have an image with three bands. How can I apply a loop for do an operation to all the pixels?
image1=imread('image_1.tif'); %I've load the image. Has a length of 4x4x3
band1a= image_1(:,:,1);
band2a= image_1( :,:,2);
band3b= image_1(:,:,3);
for i = 1:numel(band1b)
(...) this is the part of the operation
output= ?
Thanks a lot in advance,
5 Kommentare
Sabarinathan Vadivelu
am 26 Nov. 2012
Which operation u have to perform on all the pixels?
Emmanuelle
am 26 Nov. 2012
Jan
am 26 Nov. 2012
Please post a running piece of code. In the original question, "band1b" is not defined and we cannot guess its value. In the comment "l1, l2, t2, interplan, b1abc" is not defined.
Usually interpolations can be performed for a full vector or even a matrix directly without a loop.
Emmanuelle
am 26 Nov. 2012
Bearbeitet: Emmanuelle
am 27 Nov. 2012
Emmanuelle
am 27 Nov. 2012
Antworten (1)
Image Analyst
am 26 Nov. 2012
0 Stimmen
What is image_1? All you have shown up until that point is image1, which is a different variable.
3 Kommentare
Emmanuelle
am 27 Nov. 2012
Image Analyst
am 27 Nov. 2012
Regarding "I know it could be something confusing but what I want is to get this last three values (spout1_c, spout2_c and spout3_c) for every pixel, in every band." How about this:
image1(:, :, 1) = spout1_a;
image1(:, :, 2) = spout1_b;
image1(:, :, 3) = spout1_c;
Emmanuelle
am 27 Nov. 2012
Kategorien
Mehr zu Images finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!