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)
Mostrar comentarios más antiguos
waqas
el 20 de Dic. de 2021
Comentada: waqas
el 21 de Dic. de 2021
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
Respuesta aceptada
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
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)
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!