LoginSignup
13
14

More than 5 years have passed since last update.

Python + OpenCVのみで最もシンプルに画像を90度回転する

Last updated at Posted at 2018-06-08

ライブラリをたくさん使いたくないので、PILを使わずに90度回転をしたい。
調べるとアフィン変換とか難しい方法ばかりだったので、numpyの知識を使ってシンプルに回転してみた。

コードだけ知りたい方は、以下のコードを実行してください。

90度回転
img.transpose(1,0,2)[:,::-1]

-90度回転
img.transpose(1,0,2)[::-1]

画像の読み込み

import cv2
img = cv2.imread('green_red_apple.png')

raw.png

画像の転置

Opencvで読み込んだ画像はnumpy配列になっているのでnumpyのtranposeで転置することで90度回転の準備をする

transpose_img = img.transpose(1,0,2)

transpose.png

画像の90度回転

転置した画像を横方向にひっくり返したら90度回転になる。
numpy配列の順番を逆順にする方法でできる

clockwise = transpose_img[:,::-1]

plus90.png

画像の-90度回転

転置した画像を縦方向にひっくり返したら-90度回転になる

counter_clockwise = transpose_img[::-1]

minus90.png

13
14
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14