## create a white circle or sphere inside a black box

on 21 Jul 2011

### Andrei Bobrov (view profile)

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.

## Products

No products are associated with this question.

### Andrei Bobrov (view profile)

on 21 Jul 2011
```A=zeros(70,70);
m = {40,40}; %midpoint
A(m{:})=1;
B = imdilate(A,strel('disk', r,0) );
imshow(B)
```

```A=zeros(70,70);
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)
```

Andrei Bobrov

### Andrei Bobrov (view profile)

on 21 Jul 2011

A=zeros(70,70);
m = {40,40}; %midpoint
A(m{:})=1;
B = bwdist(A) <= r;
imshow(B)

Friedrich

on 21 Jul 2011

Nice. +1

Andrei Bobrov

### Andrei Bobrov (view profile)

on 21 Jul 2011

Thanks, Friedrich!
Adding my variant without Image Processing Toolbox

### Friedrich (view profile)

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,[]);
```

### Ujitha (view profile)

on 3 Mar 2013

Hi this was really helpful. How do you do this to create two different sizes of circles.

Image Analyst

on 3 Mar 2013

### Ujitha (view profile)

on 4 Mar 2013

Thanks a lot. It was really helpful..!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test