How to pick random values in a vector

1 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2015-10-3
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 个评论
Navya Snigdha Thumma
It worked. Thank you very much. And thanks for the caution. I will check the order while plotting.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by