소스 뷰어
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 )
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()