PythonのOpenCVで画像を左右・上下に反転させる(線対称にひっくり返す)
2023.02.18
Python で OpenCV を使うと画像を反転した画像を作ることができます。OpenCV を使うときは cv2 というライブラリをインポートします。
import cv2
img = cv2.imread('president.jpg')
x = cv2.flip(img, 0)
y = cv2.flip(img, 1)
xy = cv2.flip(img, -1)
cv2.imwrite('x.jpg', x)
cv2.imwrite('y.jpg', y)
cv2.imwrite('xy.jpg', xy)
x 軸を中心に反転した画像
y 軸を中心に反転した画像
その両方
cv2.imread で画像を読みます。第一引数はファイル名、第二引数はモード。モードは省略可能で、今回はなにも指定していません。
imread で画像オブジェクトを作った後、flip 関数でオブジェクトをひっくり返します。第一引数にオブジェクト、第二引数に中心軸を入れます。
0 を入れると x 軸を中心にひっくり返り、1 を入れると y 軸を中心にひっくり返ります。-1 を入れるとその両方が行われます。
反転して加工後のオブジェクトを作ったら、imwrite 関数で出力します。