Soru sorMatlab ile bir görüntü üzerinde rasgele konum, daire ve çapta daire çizme
dejavu1671 tarafından 6 yıl önce soruldu

Merhabalar.

Matlab ile bir görüntü üzerinde rasgele sayıda konumda ve çapta daire çizmem gerekiyor ama bunu yapamadım ve ödev teslimini yarın yapmam gerekiyor ilk defa matlab kullanıyorum ama bir miktar kod yazabildim belki hatayı bulabilir yada doğru kodu cevap olarak yollayabilirsiniz. teşekkür ederim.

x=uint8(0*ones(1089));
imshow(x)
randomMiktari = int32(10);
iterator = int16(1);
c =randi([1 100],1,randomMiktari);
ilkyatay = int16(1);
ilkdikey = int16(1);
dikeksen = int16(0);
yatayeksen= int16(0);

for f=1:randomMiktari;

dikeksen = int16(c(1:f));
%yatayeksen = int16(c(1:iterator));
yatayeksen=dikeksen;
cap=dikeksen;
for i=ilkdikey:(dikeksen(1,f)+ilkdikey); 
for j=ilkyatay:(yatayeksen(1,f)+ilkyatay); 
if(i-((dikeksen(1,f))/2))^2+(j-((yatayeksen(1,f))/2))^2<((cap(1,f))/2)^2
x(i,j)=255; 
end
end
end
iterator=iterator+1;
ilkyatay=ilkyatay+yatayeksen;
ilkdikey=ilkdikey+dikeksen;
imshow(x)
end
imshow(x)
1 Cevap
En iyi cevap
sayginer Yönetici tarafından 6 yıl önce cevaplandı

Merhaba, Asagidaki ornegimi inceleyebilirsiniz. Ancak rastgele sayi uretirken mutlaka bir sinir belirlemeniz gerekiyor. Ben asagidaki ornekte bu sayi araligini 1 ile 10 arasinde belirledim. Takildiginiz yeri tekrar sorabilirsiniz.
 

clear; clc;
for i =1: randi([1 10],1)
x = randi([1 10],1,1); % x koordinat
y = randi([1 10],1,1); % y koordinat
r = randi([1 10],1,1);% yaricap
% Daireyi cizelim
th = 0:pi/50:2*pi;
xunit = r * cos(th) + x;
yunit = r * sin(th) + y;
h = plot(xunit, yunit); hold on;
end