How to draw a circle with a red annulus and green center?
Afficher commentaires plus anciens
I'm trying to draw a circle with a red annulus and green center using RGB in MATLAB R2014b. However, since I'm currently drawing the red circle first, then layering the smaller green circle over it, the green turns to yellow. How do I either prevent the colors from adding (so the green shows as green) or draw the red annulus only (instead of the full circle)?
xpix = 1140;
ypix = 912;
rad = 150;
RGB(1:xpix,1:ypix,1:3)=0;
[x y] = find(RGB==0);
xc = ceil(xpix/2);
yc = ceil(ypix/2);
for i=1:20
radius = (rad-20*i).^2;
r = find(((x-xc).^2+(y-yc).^2) <=radius);
for j=1:size(r,1)
if(mod(i,2)==0)
RGB(x(r(j)),y(r(j)),1)=255; % 1=red
elseif (mod(i,10)==1)
RGB(x(r(j)),y(r(j)),2)=255; % 2=green
end
end
end
imshow(RGB);
imwrite(RGB,'filter_1.jpg','BitDepth',8);
This is what I currently have:

1 commentaire
Image Analyst
le 4 Août 2016
Explain what you're doing. What is the point with the mod() calls? What's with the for loops?
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur 2-D and 3-D Plots dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!