numpy opencv翻转行集

时间:2014-01-16 09:10:49

标签: python sorting opencv numpy

哪种方法可以获得一个所有奇数行都被翻转的图像数组?

这是输入图像:

   A[ ROW.0 = 0 , 1 , 2 , 3
      ROW.1 = 0 , 1 , 2 , 3
      ROW.2 = 0 , 1 , 2 , 3
      ROW.3 = 0 , 1 , 2 , 3 
]

这应该是输出

 B[ ROW.0 = 0 , 1 , 2 , 3 
    ROW.1 = 3 , 2 , 1 , 0 
    ROW.2 = 0 , 1 , 2 , 3 
    ROW.3 = 3 , 2 , 1 , 0 
]

我相信这可以通过for

来完成
for i in img[::2]:     # take odd rows
   b = i[::-1]         # reverse elements order
         print b

还是有更好的方法使用numpy或opencv?

1 个答案:

答案 0 :(得分:4)

这样的东西?

In [7]: a = np.array([[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]])                                                                            

In [8]: a[1::2] = a[1::2,::-1]

In [9]: a
Out[9]: 
array([[0, 1, 2, 3],                                                                             
       [3, 2, 1, 0],                                                                             
       [0, 1, 2, 3],                                                                             
       [3, 2, 1, 0]])