Split an image into two sets

2 次查看(过去 30 天)
Simona Neacsu
Simona Neacsu 2019-10-27
Hi, I need to split an image into two sets of pixels A and B, each randomly containing half of the pixels (using the rand function). Thanks in advance for any help.

回答(1 个)

Matt J
Matt J 2019-10-27
N=numel(yourImage);
indices=randperm(N,round(N/2));
A=yourImage(indices);
B=yourImage; B(indices)=[];
  1 个评论
Simona Neacsu
Simona Neacsu 2019-10-30
Thanks! This helped a lot. This is how I finally did it:
randomind=randperm(numel(inital_image), numel(inital_image)/2);
imageA=image1;
imageA(randomind)=0;
imageB=imageA;
for i=1:size(imageA,1)
for j=1:size(imageA,2)
if (imageA(i,j)==0) imageA(i,j)=image1(i,j);
elseif (imageA(i,j)~=0) imageA(i,j)=0; end
end
end

请先登录,再进行评论。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by