1
A
回答
1
找到「1」的索引中的基質,然後用randperm
選擇那些的隨機子集:用於允許重複樣品
idx = find(mask==1);
y = randperm(length(idx),n); %take n values from 1 to the number of values in idx
rand_idx = idx(y); %select only those values out of your indexes
0
你可以這樣做:
idx = find(mask == 1); % This found all 1s in your mask
idx2Take = 1:5:size(idx,1); % This take 1s on every 5 (uniform distributed)
uniformPts = idx(idx2Take); % Finally, obtain the mask position from the uniform distribution
後,您只需要得到所有uniformPts。
2
另一個簡潔的解決方案是可能的randi
(採樣與更換):
nonZeroSampleInds = randi(nnz(mask),1,n);
maskInds = find(mask);
maskSampleInds = maskInds(nonZeroSampleInds);
對於非重複的樣品,randperm
作品在nkjt的答案,或者只是爲了好玩,你可以用下面的開始,
[~,nonZeroSampleInds]=sort(rand(1,nnz(mask)));
我認爲MATLAB的randperm
是完美的工作,但是這sort
行實際上how MATLAB used to implement randperm.m
是之前它成爲一個MEX文件,所以我想我會提供它,因爲我喜歡有點MATLAB瑣事。
如果您想要訂購的位置,sort
或者nonZeroSampleInds
或maskSampleInds
。
相關問題
- 1. 隨機像素的圖像
- 2. 選擇隨機圖像
- 3. 隨機選擇一個圖片中的像素Matlab
- 4. 在WPF中創建一個圖像,其像素是隨機選擇的
- 5. 從drawable中隨機選擇圖像
- 6. 從數組中隨機選擇圖像
- 7. 使掩碼選擇的像素列表
- 8. 隨機均勻選擇像素
- 9. 從二進制圖像中隨機選擇一個像素(具有指定值)
- 10. 隨機從Umbraco中的文件夾中選擇一個圖像
- 11. 圖像位置 - 隨機選擇位置
- 12. 隨機圖像選擇器PHP
- 13. 使用Linq/C#選擇隨機圖像?
- 14. 檢查一個數組中的圖像是否隨機選擇
- 15. 繪製或選擇二進制圖像中的第n個像素MATLAB
- 16. 隨機刪除部分圖像/像素
- 17. 選擇多個隨機生成的圖像併發布圖像ID
- 18. MySQL - 只選擇一個(隨機)很多的圖像
- 19. 如何從numpy列表中隨機選擇n個元素?
- 20. 從列表中隨機選擇一個對象(圖像)
- 21. 選擇第n個圖像出這是一個HTML元素
- 22. 隨機圖像中的GridView
- 23. Android中的隨機圖像?
- 24. Xcode中的隨機圖像
- 25. UpdateProgress中的隨機圖像
- 26. Java中的隨機圖像
- 27. 選擇N個隨機記錄
- 28. Spark DataFrame - 選擇n個隨機行
- 29. 隨機圖像
- 30. 切換到新視圖會顯示隨機選擇的圖像
「select n 1-pixels」 - huh?請讓問題更清楚。 – learnvst