소스 뷰어
import numpy as np

i, j = np.indices( (6,6) )
k = i + j
j_rev = j[     : ,  : :-1 ]
i_rev = i[ :: -1  , : ]

print( "i = ", i )
print( "*"*40 )
print( "i_rev = ", i_rev )
print( "*"*40 )
print( "j = ", j )
print( "*"*40 )
print( "j_rev = ", j_rev )
print( "*"*40 )
print( "k = ", k )
i =  [[0 0 0 0 0 0]
 [1 1 1 1 1 1]
 [2 2 2 2 2 2]
 [3 3 3 3 3 3]
 [4 4 4 4 4 4]
 [5 5 5 5 5 5]]
****************************************
i_rev =  [[5 5 5 5 5 5]
 [4 4 4 4 4 4]
 [3 3 3 3 3 3]
 [2 2 2 2 2 2]
 [1 1 1 1 1 1]
 [0 0 0 0 0 0]]
****************************************
j =  [[0 1 2 3 4 5]
 [0 1 2 3 4 5]
 [0 1 2 3 4 5]
 [0 1 2 3 4 5]
 [0 1 2 3 4 5]
 [0 1 2 3 4 5]]
****************************************
j_rev =  [[5 4 3 2 1 0]
 [5 4 3 2 1 0]
 [5 4 3 2 1 0]
 [5 4 3 2 1 0]
 [5 4 3 2 1 0]
 [5 4 3 2 1 0]]
****************************************
k =  [[ 0  1  2  3  4  5]
 [ 1  2  3  4  5  6]
 [ 2  3  4  5  6  7]
 [ 3  4  5  6  7  8]
 [ 4  5  6  7  8  9]
 [ 5  6  7  8  9 10]]
import numpy as np, cv2 as cv
from matplotlib import pyplot as plt

img = cv.imread( 'messi5.jpg', 0 ) # 회색조 영상 로딩
i, j = np.indices( img.shape )  # 영상 수직 좌표, 수평 좌표

h_flip  = img[ i            , j[ :, ::-1] ]  # 수평 뒤집기
v_flip  = img[ i[ ::-1, : ] , j           ]  # 수직 뒤집기
hv_flip = img[ i[ ::-1, : ] , j[ :, ::-1] ]  # 수평 수직 뒤집기

imgs = []
imgs.append( ("Original", img ) )
imgs.append( ("Horizontally Flipped", h_flip ) )
imgs.append( ("Vertically Flipped", v_flip ) )
imgs.append( ("Both direction Flipped", hv_flip ) )

# 차트 출력
fig, charts = plt.subplots( len(imgs)//2, 2, figsize=(15, 10) )
charts = charts.flatten()

for idx, (title, img) in enumerate( imgs ) :
    chart = charts[idx]
    chart.set_title( f"\n{title}\n" )
    chart.imshow( img, cmap='gray' )
pass

plt.tight_layout()
plt.show()
No description has been provided for this image