Trong numpy tôi có một mảng 2d 1s và 0s. Tôi cần tính toán một mảng mới (cùng kích thước) trong đó mỗi phần tử chứa khoảng cách đến gần nhất 1 từ điểm tương ứng trong mảng mặt nạ.Làm thế nào để tính toán hiệu quả khoảng cách đến gần nhất 1 trong mặt nạ trong numpy?
ví dụ:
a=np.array(
[[1,1,0],
[1,0,0],
[1,0,0]])
tôi cần b trông như thế này:
array([[0,0,1],
[0,1,1.41],
[0,1,2]])
PS. Tôi sẽ làm điều này trên các mảng rất lớn, vì vậy hiệu quả càng tốt! Cảm ơn!
Tuyệt vời! Điều đó hoạt động tốt. Để hoàn thành mã hoạt động là b = scipy.ndimage.morphology.distance_transform_edt (1-a) –