我有一个函数,它接收一个图像和一个切片对象,该对象指定该图像的子区域进行操作。我想在指定区域周围画一个框以进行调试。绘制一个盒子最简单的方法是获取它的两个角的坐标。但是,我找不到从切片对象中获取这些坐标的好方法。
当然有一种非常低效的方法,我定义一个大矩阵并使用我的切片来确定哪些元素受到影响
#given some slice like this
my_slice = np.s_[ymin:ymax+1, xmin:xmax+1]
#recover its dimensions
large_matrix = np.ones((max_height, max_width))
large_matrix[my_slice] = 1
minx = np.min(np.where(large_matrix == 1)[0])
maxx = np.max(np.where(large_matrix == 1)[0])
...
如果这是最好的方法,我可能不得不从传递切片对象切换到某种矩形对象。