   My Coding > Programming language > Python > Python libraries and packages > Python NumPy > How to turn image 90 degree with NumPy

# How to turn image 90 degree with NumPy

Pretty common task is to rotate image 90 degree. If the image already loaded into NumPy it is very easy to do with rot90() function. Actually this can be used to matrix rotation as well if you need it!

As usual, start with proper libraries. You need to have NumPy for manipulations with data and PIL for reading image.

``````
import numpy as np
from PIL import Image``````

Then load image and convert it to NumPy array

``````
imP = Image.open('image_name.jpg')
imgN = np.array(imP)``````

Next step is rotate the matrix, which corresponds to the image

``````
imgR = np.rot90(imgN, k = rotate, axes = (0, 1))``````

Where rotate is a number of 90 degree turns you need to perform. The rotation will be done in the plane specified by axes in the direction from the first towards the second axis.

So, to rotate image anticlockwise use by 90 degree, use:

``````
imgR = np.rot90(imgN, k = 1, axes = (0, 1))``````

It is necessary to remember, that after rotation, Numpy Array will be allocated in the memory a bit messy, and some function will not work properly, giving an error:

``````
cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function 'putText'
>  - Layout of the output array img is incompatible with cv::Mat
>  - Expected Ptr for argument 'img'``````

to avoid this error, you need to make this array continuous again

``````
imgR = np.ascontiguousarray(imgR, dtype=np.uint8)``````

Published: 2022-07-22 21:24:32

### 9 popular artitles

© 2020 MyCoding.uk -My blog about coding and further learning. This blog was writen with pure Perl and front-end output was performed with TemplateToolkit. 