2014-01-16 67 views
3

哪一個將所有奇數行翻轉的圖像數組的最佳方式?numpy opencv翻轉行的設置

這是輸入圖像:

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 i in img[::2]:  # take odd rows 
    b = i[::-1]   # reverse elements order 
     print b 

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

回答

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]])  
+0

謝謝!請讓我明白:[1 :: 2]是指從第二項開始獲取每一個下一個項目? – user2239318

+0

@ user2239318是的,你說得對。 –