ndarray rust,更改切片的值

kr98yfug  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(121)

在python的numpy中给定一个数组

a = np.zeros((10,10,2))

我可以修改对应于切片4:6,:因此:

a[4:6,:] = [0,255]

在rust中:给定ndarray包中的一个ndarray,我可以切片

let mut img = Array3::<u8>::zeros((10,10,2));
let slice = img.slice_mut(s![4..6,..,..]);

但是,通过广播对应于最后一个轴(即[0,255])的子数组来更改该切片的值的惯用方法是什么?

6yoyoihd

6yoyoihd1#

通过其他方式我找到了答案,我把它贴在这里。你需要把slice_mut和method .assign(&stuff to broadcast)结合起来

let mut img = Array3::<u8>::zeros((10,10,2));
 let arr = Array::ones(2);
 img.slice_mut(s![4..6usize,..,..]).assign(&arr);

相关问题