Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

im uploading two codes which have different outputs. Wats the difference between these two pieces of code. I mean , why there outputs are different . Shudn't outputs be same ?

1 visualizzazione (ultimi 30 giorni)
if true
% code
block=20*ones(200);
block1=60*ones(500);
block2=100*ones(500);
block3=150*ones(500);
block1(151:350,151:350)=block;
img1=uint8(block1);
subplot(2,3,1)
imshow(img1)
block2(151:350,151:350)=block;
img2=uint8(block2);
subplot(2,3,2)
imshow(img2)
block3(151:350,151:350)=block;
img3=uint8(block3);
subplot(2,3,3)
imshow(img3)
end
if true
% code
A=60*ones(500);
B=120*ones(500);
C=200*ones(500);
A(151:350,151:350)=20*ones(200);
subplot(2,3,1)
imshow(uint8(A))
B(151:350,151:350)=20*ones(200)
subplot(2,3,2)
imshow(uint8(A))
C(151:350,151:350)=20*ones(200)
subplot(2,3,3)
imshow(uint8(A))
end

Risposte (3)

Guillaume
Guillaume il 26 Feb 2015
Well, in your second piece of code, you're showing A three times. If you show A, B and C you get the same figure as in the first piece:
figure;
subplot(2,3,1);
imshow(uint8(A));
subplot(2,3,2);
imshow(uint8(B));
subplot(2,3,3);
imshow(uint8(C));

sandhya
sandhya il 26 Feb 2015
Modificato: sandhya il 26 Feb 2015
Rather your second code should be
if true
% code
A=60*ones(500);
B=120*ones(500);
C=200*ones(500);
A(151:350,151:350)=20*ones(200);
subplot(2,3,1)
imshow(uint8(A))
B(151:350,151:350)=20*ones(200)
subplot(2,3,2)
imshow(uint8(B))
C(151:350,151:350)=20*ones(200)
subplot(2,3,3)
imshow(uint8(C))
end
  3 Commenti

sandhya
sandhya il 26 Feb 2015
The two codes will show different results because
In the first code you are subplotting three different images i.e block1,block2,block3
but in the second code your code subplots the same image i.e A three times...this is why you are getting wrong outputs....

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by