How to pick random values in a vector

1 view (last 30 days)
How to pick randomly intensities with non zero values in an image. I want to pick only two intensities. My answer should be (x1,y1) and (x2,y2) which are row and column values of particular image. Please help. Thanks.

Accepted Answer

Walter Roberson
Walter Roberson on 3 Oct 2015
idx = find(YourImage ~= 0);
randidx = idx(randperm(length(idx),2));
[x, y] = ind2sub(size(YourImage), randidx);
x1 = x(1); x2 = x(2); y1 = y(1); y2 = y(2);
Caution: when you are talking about images, x is the column number, not the row number. I left it in the order you specified, but if you try to use it to plot with you will see that what you asked for is not the way it works.
  1 Comment
Navya Snigdha Thumma
Navya Snigdha Thumma on 3 Oct 2015
It worked. Thank you very much. And thanks for the caution. I will check the order while plotting.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!