create a white circle or sphere inside a black box
4 views (last 30 days)
Show older comments
i have created white boxes inside a big black box as follows:
A=zeros(70,70); % black box
A(15:23,50:55)=1;% white box
A(50:60,50:55)=1;% white box
A(20:23,10:13)=1 ;% white box
imshow(A,[])
how can i add to the same matrix A a white circle or a white sphere?thanks in advance.
0 Comments
Accepted Answer
Andrei Bobrov
on 21 Jul 2011
A=zeros(70,70);
r = 10; %radius
m = {40,40}; %midpoint
A(m{:})=1;
B = imdilate(A,strel('disk', r,0) );
imshow(B)
ADD wutout Image Processing Toolbox
A=zeros(70,70);
r = 10; %radius
P = [40,40]; %midpoint
[m n ] = size(A);
X = bsxfun(@plus,(1:m)',zeros(1,n));
Y = bsxfun(@plus,(1:n),zeros(m,1));
B = sqrt(sum(bsxfun(@minus,cat(3,X,Y),reshape(P,1,1,[])).^2,3))<=r;
imagesc(B)
4 Comments
More Answers (3)
Friedrich
on 21 Jul 2011
Hi,
can this help?
function out = my_circ( A, midpoint, radius )
out = A;
[ m n] = size(A);
for i=1:m
for j=1:n
if norm( [i,j] - midpoint ) <= radius
out(i,j) = 1;
end
end
end
end
And call it through:
>> A = zeros(100);
>> B = my_circ(A,[40,40],10);
>> imshow(B,[]);
0 Comments
Ujitha
on 3 Mar 2013
Hi this was really helpful. How do you do this to create two different sizes of circles.
Thanks inadvance
1 Comment
Image Analyst
on 3 Mar 2013
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!