我有一个关于裁剪/整形的问题。假设我们已经知道一个范围,例如,(500,500),我有一个(496,504)的图像,如果我想使用遮罩来填充丢失的像素并裁剪额外的像素,以便将图像重塑为(500,500)。有没有办法用面具来做这件事?
是否有一种优雅的方式将此范围Tensor应用于图像Tensor并进行相应的裁剪?(比如面具?)我还尝试使用reduce函数构建一个蒙版来过滤掉超出范围的像素。
mask = reduce(torch.logical_and, (img_tensor[:,:, ?,:] >= range[1],
img_tensor[:,:, ?,:] < range[3],
img_tensor[:,:, :,?] >= range[0],
img_tensor[:,:, :,?] < range[2]))
问题是我不知道该怎么说“?“,以便将该维度处的值与范围值进行比较。任何帮助将不胜感激。
1条答案
按热度按时间jw5wzhpr1#
使用虚拟值(例如:0)。找到这个Tensor和原始Tensor之间的最小维度,并使用这些值来选择要替换的新Tensor的值: