资讯详情

资讯详情

【python】Python:图像处理中img[:,:,::-1]是什么意思?

我们经常在图像预处理中会看到类似如下代码imgcv2.imread(img_path)imgimg[:,:,::-1].transpose(2,0,1)上述两句到底是什么含义呢我们今天就来解决这个问题。首先需要明白一点我们通过cv2读图片时数据读取的通道顺序是bgr并且是height width channel的排列方式。所以切开上述第二行代码来看img[:,:,::-1]也就是我们任意不改变width维的方式也不改变height维的方式仅仅改变channel维的方式并且是倒序排列原本的bgr排列方式经过倒序就变成了rgb的通道排列方式。第二个transpose我们也经常会在caffe和pytorch中用到因为这两个的输入顺序NxCxHxW,我们将图片从HxWxC改为CxHxW的形式。拓展如果img[::-1, :, :]其实是对图片进行上下翻转 img[:,::-1,:]是对图像进行左右翻转一个小小的代码实例anp.array([[[0,1],[1,2],[2,3]],[[3,4],[4,5],[5,6]]])print(a)[[[01][12][23]][[34][45][56]]]ba[:,:,::-1]print(b.shape)(2,3,2)print(b)[[[10][21][32]][[43][54][65]]]
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →