[row column page] = size(Image3)
for i = row
for j = column
if Image3 (i, j, 1) > 350
if Image3 (i, j, 2) > 350
if Image3 (i, j, 3) > 350
Image3 (i, j, 1) = 0.0;
Image3 (i, j, 2) = 0.0;
Image3 (i, j, 3) = 0.0;
end
end
end
end
end
I tried this:
mask = Image3(:,:,1)>350 & Image3(:,:,2) > 350 & Image3(:,:,3) > 350;
Image3 = Image3 .* mask(:,:,[1 1 1]);
But it doesn't work. Just displays a black image. What am i doing wrong?

Réponses (1)

jgg
jgg le 21 Mar 2016

0 votes

Your approach should work. Try this instead:
Image3 = randn(10,10,3)+355; %example data
mask = Image3(:,:,1) > 350 & Image3(:,:,2) > 350 & Image3(:,:,3) > 350;
mask = repmat(mask,1,1,3);
Image3(mask) = 0.0;

2 commentaires

charuleelaa vanilavarasu
charuleelaa vanilavarasu le 21 Mar 2016
Still doesn't work. This is what i get when i ran the above code.
jgg
jgg le 22 Mar 2016
You need to post your code; this code works fine. You have something unexpected going on with your Image3 matrix. Are you sure it has anything in which those three criteria are met?

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by