¿Cómo convertir una matriz de filas que contiene solo 0 1 en la onda rectangular correspondiente?
b = bwdist(a, "city block")
para lograrlo.
Por supuesto, el resultado obtenido de esta forma es ligeramente diferente a tu Figura 1, que se refleja específicamente en:
El valor en el círculo en 1. b es 1, 2,... no 2, 3. ....
2.El valor en el círculo en B es 0, no 1.
Los valores exteriores del círculo en 3.b son 1, 2,... en lugar de 0, -1,....
En otras palabras, como siempre que el valor dentro del círculo en B El valor sea +1 y el valor fuera del círculo se invierta +1 (no importa si el valor dentro del círculo está invertido). En realidad, esto no es difícil. Por ejemplo, puede usar la función
Rellenar insuficiente
para llenar primero todos los círculos de la imagen con 1 para obtener la imagen c. , tome ~c como subíndice lógico y niegue el valor en a(~c), y luego tome todo el A +1 invertido.