How can I find random pixels in an image?

1 Ansicht (letzte 30 Tage)
Faranak
Faranak am 13 Feb. 2014
Kommentiert: Image Analyst am 13 Feb. 2014
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 Kommentar
Faranak
Faranak am 13 Feb. 2014
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 .

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Faranak
Faranak am 13 Feb. 2014
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 Kommentar
Image Analyst
Image Analyst am 13 Feb. 2014
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by