def get_edges(self, t):
torchvision.transforms.ToPILImage()(t[0].cpu()).show()
edge = self.ByteTensor(t.size()).zero_()
edge[:, :, :, 1:] = edge[:, :, :, 1:] | (t[:, :, :, 1:] != t[:, :, :, :-1])
edge[:, :, :, :-1] = edge[:, :, :, :-1] | (t[:, :, :, 1:] != t[:, :, :, :-1])
edge[:, :, 1:, :] = edge[:, :, 1:, :] | (t[:, :, 1:, :] != t[:, :, :-1, :])
edge[:, :, :-1, :] = edge[:, :, :-1, :] | (t[:, :, 1:, :] != t[:, :, :-1, :])
torchvision.transforms.ToPILImage()(edge.float()[0].cpu()).show()
return edge.float()
get_edges
最新推荐文章于 2022-12-07 17:22:25 发布
这段代码实现了一个图像的边缘检测过程,使用了 torch 和 torchvision 库。首先将输入的 tensor 转换为 PIL 图像并显示,然后创建一个全零的边缘图,并通过比较相邻像素来标记边缘。最后,将边缘图转换回 PIL 图像展示并返回。这个过程涉及到计算机视觉中的图像处理技术。
摘要由CSDN通过智能技术生成