How to make a rectangular shape with inner boundary having the value of 1 and outer boundary a value of 0?

4 visualizaciones (últimos 30 días)
Hi,
I am trying to make a rectangular shape with inner boundary value set as one and outer boundary value set as zero. Ideally a smoother transition from inner boundary to put boundary would be really helpful for my case. Following figure can explain the problem better:
In my implementation, I am struggling with the corners in particular with a linear transition from inner to outer boundary.
Following line should run the function to reproduce the the results of figure 2:
jQvals(Trow,Tcol,ouc,our,inc,inr,ptAbvCrk,ptBlwCrk,gridElems);
Relevant variable are in the attached mat file.
Looking forward to the feedback.
  3 comentarios

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 20 de Dic. de 2021
Editada: Matt J el 20 de Dic. de 2021
For example,
A=zeros(100);
A(30:70,30:70)=1;
A=max(0, 1-bwdist(A)/10);
A( abs( conv2(A,ones(3)/9,'same')-1)<=1e-6)=0;
imshow(A)
  6 comentarios
Matt J
Matt J el 20 de Dic. de 2021
Editada: Matt J el 20 de Dic. de 2021
load mask
mask0=finalMask;
mask=imclose(mask0,ones(15,1));
A=bwconvhull(mask)&~mask; %deliberate here, but unnecessary. Just start with inner rectangle.
A=max(0, 1-bwdist(A)/5);
A( abs( conv2(A,ones(3)/9,'same')-1)<=1e-6)=0;
A=A.*mask0;
imshow(A)
waqas
waqas el 21 de Dic. de 2021
Worked like a charm with the first code that you shared using only the internal boundary. Thanks.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Images en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by