How can I find random pixels in an image?

Hi all, I have a 256*256 pixels image and I want to have 5 randomly pixels in it.how can I do that?

1 Comment

I have some pixels with value more than 1 , I want to find randomly from those pixels. I tried this command : randi(size(imfinal),1,5) but it gives me random number of pixel number. I want exactly the number of i , j of the pixel,and those pixel which their value is more than 1 .

Sign in to comment.

 Accepted Answer

I found the answer,for those who want it:
%%% imfinal is the image
for i=1:256 for j=1:256 if imfinal(i,j)>2 f=imfinal;
end
end
end
%%%% 1800 is the total number of pixels with value more than 1
fo=find(f>20); rndm=randi(1800,1,5); fo2=fo(rndm);

1 Comment

That does not do what you asked. The first loop merely assigns the entire image to f. The second part looks at only the first 1800 pixels with a value of more than 20 and picks the linear index of 5 of them.
It doesn't give you "number of i , j of the pixel" and doesn't look at "those pixel which their value is more than 1". But whatever...as long as you're happy.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 13 Feb 2014

Commented:

on 13 Feb 2014

Community Treasure Hunt

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

Start Hunting!